Objective-C 编程:属性、键值编码、类别与块的深入解析
在Objective-C编程中,属性、键值编码、类别和块是非常重要的概念。它们各自有着独特的功能和用途,下面我们将详细介绍这些内容。
1. 属性特性
1.1 可变性
属性可以声明为读写(readwrite)或只读(readonly)。默认情况下,属性是读写的,这意味着会同时创建 setter 和 getter 方法。如果不希望创建 setter 方法,可以将属性标记为只读,示例代码如下:
@property (readonly) int voltage;
1.2 生命周期指定符
属性还可以声明为 unsafe_unretained 、 strong 、 weak 或 copy ,这些选项决定了 setter 方法如何处理内存管理。
- unsafe_unretained :这是默认且最简单的方式,它只是将传入的值赋给属性。示例如下:
@property (unsafe_unretained) int averageScore;
// "@property int averageScore" 同样适用
...
@synthesize averageScore;
- (void)setAverageSco
超级会员免费看
订阅专栏 解锁全文
7

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



