随笔分类 -  IOS6编程实践

IOS6Programming Pushing the Limits 学习笔记
摘要:1.ARC空声明变量 使用ARC的另一个优势是所有未初始化的变量默认都是“空值化”的。这意味着像下面这样的声明使用ARC编译后指向的是空值(nil): NSObject *myObject1,*myObjects2; 不过要注意的是,与其他高级编程语言不同,ARC不会自动将标量的值设置为零。 这意味着以下几行代码声明的变量其值并不等于零: int a; int b;2.Objective-C命名约定 如果你在Person对象中写了一个叫做newPersonName的方法,ARC会认为该方法返回一个分配过的对象。使用ARC(或者不适用ARC)编译过的调用代码和方法newPerson... 阅读全文
posted @ 2013-07-11 14:17 gagag 阅读(4786) 评论(1) 推荐(0)
摘要:四.使用关联引用为分类添加数据 虽然不能在分类中创建实例变量,但是可以创建关联引用(associative reference)。通过关联引用,你可以向任何对象中添加键-值(key-value)数据。 假如有一个Person类,这个person类可能会被用在其他程序中,有些电子邮件地址(emailAddress)这个字段是有意义的,有些时候这个字段是没有用的。一个比较好的解决方案就是使用分类为Person类添加一个名为emailAddress的属性,这样可以避免不需要emailAddress时的开销。或许Person类并不是你写的,改类的维护者也不会为你添加这个属性。这种情况下,要怎么解决.. 阅读全文
posted @ 2013-06-24 17:38 gagag 阅读(360) 评论(0) 推荐(0)
摘要:一.ARC1.ARC环境下可以使用-(void)dealloc{};处理一些事情(比如移除KVO观察),但不要调用[super dealloc];2.ARC与非ARC混编要注意符合Cocoa命名约定,比如不能用copyRight这样的方法名,需改成copyright。或使用NS_RETURNS_RETAINED或NS_RETURNS_NOT_RETAINED告诉编译器使用哪种内存管理规则,这些修饰符在NSObjCRuntime.h中定义的。3.readonlyString在类扩展部分被重新定义时使用readwrite关键字进行修饰,这样一来便为该属性创建了一个私有的设置方法(setter)。@ 阅读全文
posted @ 2013-06-21 11:29 gagag 阅读(409) 评论(0) 推荐(0)