- 了解Objective-C语言的起源:OC中所有对象都要用指针引用,形如 NSString *str = @“a string object.”; 指针str本身在栈区,系统管理内存,但是@“a string object.”这个对象存储在堆区,需要手动管理内存,OC中有ARC技术。
- 在类的头文件中尽量少引入其他头文件:如果可以,我们在头文件中使用类的“向前声明”,形如 @class SomeClass; 针对协议,如果要引用协议所在的头文件,我们也尽量在实现文件中引用,此时对协议的声明我们可以在类的实现文件中通过category来追加。如果实在不行,就把协议声明在一个单独的头文件中。
- 多用字面量语法,少用与之等价的方法:用字面量语法创建数组、字典时,如果被加入的对象为nil,那么编译器会报错,但是用默认的初始化方法,这个数组或者字典会在这个nil值处截断,而不会报错。所以我们提倡使用字面量语法。
- 多用类型常量,少用#define预处理指令:预处理指令仅仅是在编译前执行简单的查找替换操作,如果有人重复定义了这个常量,编译期不会产生警告,将会导致程序中常量值不一致。在实现文件中使用static const来定义仅在此单元内可见的常量,在头文件中使用extern来声明全局常量,此时会在全局符号表中存储这个常量名字,为了避免冲突,通常使用相关的类名来前缀。
- 用枚举表示状态、选项、状态码:简单的枚举使用NS_ENUM就可以了,如果是可以复合的选项,使用NS_OPTIONS更好,在switch处理枚举数据时,不要编写default代码,这样在枚举数据添加新的选项时,编译期会警告这个switch没有处理所有的情况。
Effective Objective-C学习笔记 (持续更新)
最新推荐文章于 2021-04-08 19:40:53 发布