读《Effective Objective-C 2.0》

1、OC语言的起源
  • 对象所占内存空间是分配在“堆空间”中,绝不会分配在“栈”上,不能再栈中分配OC对象,所以不能有NSString stackStr这样的写法。
  • OC是为C语言添加了面向对象的特性,是其超集。OC使用动态绑定的消息结构,也就是说,在运行时才会检查对象类型。接收一条消息之后,究竟应执行何种代码,由运行期环境而非编译器来决定。
2、在类的头文件中,尽量少引用其他头文件(向前声明)
3、多用字面量语法,少用与之等价的方法

图片.png

4、多用类型常量,少用#define预处理指令

例如:

static NSString * const typeStr = @"something";
static const NSTimeInterval kDuration = 0.3;

5、用枚举表示状态、选项、状态码

6、理解“属性”

7、在对象内部尽量直接访问实例变量
8、对象等同性

9、以“类族模式”隐藏实现细节

10、在既有类中使用关联对象存放自定义数据


16、提供“全能初始化方法”

17、实现description方法

20、为私有方法添加前缀

21、NSCopy协议

29、理解引用计数

31、在dealloc里只释放引用和移除监听

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值