2013年11月11日
摘要: 二口诀与范式1 口诀。1.1 谁创建,谁释放(类似于“谁污染,谁治理”)。如果你通过alloc、new或copy来创建一个对象,那么你必须调用release或autorelease。换句话说,不是你创建的,就不用你去释放。例如,你在一个函数中alloc生成了一个对象,且这个对象只在这个函数中被使用,那么你必须在这个函数中调用release或autorelease。如果你在一个class的某个方法中alloc一个成员对象,且没有调用autorelease,那么你需要在这个类的dealloc方法中调用release;如果调用了autorelease,那么在dealloc方法中什么都不需要做。1.2 阅读全文
posted @ 2013-11-11 14:20 flower42 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 此文涉及的内存管理是针对于继承于NSObject的Class。一基本原理Objective-C的内存管理机制与.Net/Java那种全自动的垃圾回收机制是不同的,它本质上还是C语言中的手动管理方式,只不过稍微加了一些自动方法。1 Objective-C的对象生成于堆之上,生成之后,需要一个指针来指向它。ClassA *obj1 = [[ClassA alloc] init];2 Objective-C的对象在使用完成之后不会自动销毁,需要执行dealloc来释放空间(销毁),否则内存泄露。[obj1 dealloc]; 这带来了一个问题。下面代码中obj2是否需要调用dealloc?Class 阅读全文
posted @ 2013-11-11 14:17 flower42 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 一、XCode、Objective-C、Cocoa说的是几样东西?答案:三样东西。XCode:你可以把它看成是一个开发环境,就好像Visual Studio或者Netbeans或者SharpDevelop一样的玩意。你可以将Interface Builder认为是Visual Studio中用来画界面的那部分功能单独提出来的程序。Objective-C:这是一种语言,就好像c++是一种语言,Java是一种语言,c#是一种语言,莺歌历史也是一种语言一样。Cocoa:是一大堆函数库,就好像MFC、.NET、Swing这类玩意,人家已经写好了一堆现成的东西,你只要知道怎么用就可以了。有些人会比较容易 阅读全文
posted @ 2013-11-11 14:08 flower42 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 1.面象的读者在阅读本文之前,应具备使用与C类似的编程语言(如C,C++,JAVA)的一些经验,同时熟悉面向对象编程。 2.ObjC简介ObjC是以SmallTalk为基础,建立在C语言之上,是C语言的超集。20世纪80年代早期由 Brad J.Cox设计,2007年苹果公司发布了ObjC 2.0,并在iPhone上使用ObjC进行开发。3.ObjC学习内容学习的内容主要包括语法和Cocoa框架两部分。本文主要对语法进行介绍。4.IDE编写ObjC程序最主要的编译环境是Xcode,它是苹果官方提供的IDE,官网中的SDK包括Xcode,可以通过下载SDK来获得它。但是Xcode只支持MacOS 阅读全文
posted @ 2013-11-11 14:02 flower42 阅读(234) 评论(0) 推荐(0) 编辑
摘要: Objective-C中有几种数据类型和C不太一样。特此记录。- id 是一个指针类型,可以指向任何类型的对象- BOOL和char是一样的,但是做为布尔值使用。YES 表示1NO 表示0- IBOutlet 是个没有任何意义的宏,可以忽略。当Interface Builder从.h文件中读取类定义时,这个宏会对其做出一个提示。- IBAction和void是一样的,同样仅用作对Interface Builder的提示。- nil和NULL是一样的,我们使用nil而不用NULL是因为我们用来表示对象的指针为空。另外#import和#include是一样的,但是#import可以确保引用的文件只 阅读全文
posted @ 2013-11-11 11:29 flower42 阅读(156) 评论(0) 推荐(0) 编辑
  2013年10月21日
只有注册用户登录后才能阅读该文。 阅读全文
posted @ 2013-10-21 23:30 flower42 阅读(5) 评论(0) 推荐(0) 编辑
  2013年10月19日
摘要: Objective-C的异常比较像Java的异常处理,也有@finally的处理,不管异常是否捕获都都要执行。异常处理捕获的语法:@try{}@catch(NSException*exception){}@finally{}@catch{} 块 对异常的捕获应该先细后粗,即是说先捕获特定的异常,再使用一些泛些的异常类型。我们自定义两个异常类,看看异常异常处理的使用。1、新建SomethingException,SomeOverException这两个类,都继承与NSException类。SomethingException.h#import@interfaceSomethingExceptio 阅读全文
posted @ 2013-10-19 11:56 flower42 阅读(300) 评论(0) 推荐(0) 编辑
  2013年9月30日
该文被密码保护。 阅读全文
posted @ 2013-09-30 10:36 flower42 阅读(1) 评论(0) 推荐(0) 编辑
  2013年9月7日
摘要: IOS-TextField知多少分类:IOS编程2012-10-28 20:449936人阅读评论(6)收藏举报//初始化textfield并设置位置及大小 UITextField *text = [[UITextField alloc]initWithFrame:CGRectMake(20, 20, 130, 30)];//设置边框样式,只有设置了才会显示边框样式 text.borderStyle = UITextBorderStyleRoundedRect;typedef enum { UITextBorderStyleNone, UITextBorderStyleLine, UIT... 阅读全文
posted @ 2013-09-07 11:30 flower42 阅读(159) 评论(0) 推荐(0) 编辑
摘要: //用来显示“用户名”的label//初始化textfield并设置位置及大小UILabel* label1 = [[UILabelalloc]initWithFrame:CGRectMake(15,65,70,30)]; label1.backgroundColor= [UIColorclearColor]; label1.font= [UIFontfontWithName:@"Helvetica-Bold"size:18]; label1.text=@"用户名"; label1.textColor= [UIColorwhiteColor]; [vie 阅读全文
posted @ 2013-09-07 11:30 flower42 阅读(154) 评论(0) 推荐(0) 编辑