第1章:熟悉Objective-C 第4条:多用类型常量,少用#define预处理指令 声明类型常量好处是,编译器可以知道此变量的类型,且可以防止外部随意修改 声明规则:全局...
第1章:熟悉Objective-C 第4条:多用类型常量,少用#define预处理指令 声明类型常量好处是,编译器可以知道此变量的类型,且可以防止外部随意修改 声明规则:全局...
内存管理篇:1.引用计数的思考方式 自动引用计数 支持条件:clang(LLVM编译器)3.0版本以上objc4 OC运行时库 493.9版本以上编译器设置中置为“ARC有效...
内存管理篇: 2.alloc/retain/release/dealloc的实现 GNUstep的实现方式 GNUstep的版本将引用计数与对象的内存组合在一起,方便读写存取...
内存管理篇: 3.autorelease autorelease的实质:将创建的对象加入到NSAutoreleasePool管理“数组”中,并告知ARC系统暂时不要对此对象进...
内存管理篇: 4.ARC的所有权修饰符 所有权修饰符 在ARC下,对象必须通过所有权修饰符进行修饰,系统会根据不同的所有权修饰符对对象进行相应的内存管理。所有权修饰符包括:_...
内存管理篇: 6.不要使用静态和动态数组(非OC集合对象) 静态数组(类似于c数组,非OC的集合对象): 使用__strong、__weak和__autoreleasing修...
内存管理篇: 5.ARC的规则补充 ARC的方法命名 我们都知道,在内存管理的思考方式中,当方法命名以“alloc、new、copy、mutableCopy”开头或直接命名时...
内存管理篇:7.ARC实现之__strong及autorelease优化 对于持有非自己创建的对象的情况,我们知道,这种情况是指对于非“alloc、new、copy和muta...
内存管理篇:8.ARC实现之__weak 我们知道,weak修饰的变量,其地址是被存储在一个专用的散列表中,此散列表的键值为原内存的散列值(即对象地址的hash值)。 __w...