Effective Objective-C学习笔记 (持续更新)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值