Objective-C 基础与内存管理入门
1. 自动合成访问器方法
在 Objective-C 中,可以让编译器自动生成访问器方法。合成的属性方法会引用与属性同名的实例变量,这些方法会调用一个运行时库函数,该函数使用实例变量的偏移量和一些表示属性类型的标志。在旧的 Objective-C ABI 中,所有实例变量都需要在 @interface 描述中声明,以便编译器将它们转换为 C 结构。而使用非脆弱 ABI 时,情况并非如此, @synthesized 指令可以创建不属于类公共接口的新实例变量。
2. 理解 self、_cmd 和 super
- self 和 _cmd :每个 Objective-C 方法都会被编译成一个函数,它有两个隐藏参数
self和_cmd。self是消息的接收者,如果是实例消息,self是类的一个实例;如果是类消息,self就是类本身。在 C++ 中,this关键字与 Objective-C 中的self几乎等效,但有一个关键区别:self不是关键字,而是一个参数名。在 C++ 中给this赋值会导致错误,而在 Objective-C 中给self赋值是允许的。_cmd是消息
超级会员免费看
订阅专栏 解锁全文
460

被折叠的 条评论
为什么被折叠?



