ios开发之深入浅出 (2) — ARC之@property使用
2014-11-04 09:15
393 查看
上一回我们学到了一些ARC的基本概念,这一次我们来看看ARC对@property的使用规则有何影响。
所有者属性
我们先来看看与所有权有关系的属性,关键字间的对应关系。属性值 | 关键字 | 所有权 |
---|---|---|
strong | __strong | 有 |
weak | __weak | 无 |
unsafe_unretained | __unsafe_unretained | 无 |
copy | __strong | 有 |
assign | __unsafe_unretained | 无 |
retain | __strong | 有 |
读写相关的属性 (readwrite, readonly)
读写相关的属性有 readwrite 和 readonly 两种,如果使用ARC之后,我么需要注意一下 readonly 属性的使用。比如下面的变量声明。
@property (nonatomic, readonly) NSString *name;
一般声明为 readonly 的变量按理说应该不需要持有所有权了,但是在ARC有效的情况下,将出现下面的错误信息 :
“ARC forbids synthesizing a property of an Objective-C object with unspecified ownership or storage attribute”
如果定义了ARC有效,那么必须要有所有者属性的定义;所以我们的代码改成这样,就OK了
@property (nonatomic, strong, readonly) NSString *name;
不过有一点,Scalar Varible的变量缺省都有 assign 的属性定义,所以不需要给他们单独的明示声明了。
相关文章推荐
- iOS应用开发:ARC之@property使用
- iphone开发之深入浅出(2) - ARC 之@property使用
- iPhone开发之深入浅出 (2) — ARC之@property使用
- iOS应用开发:ARC之@property使用
- iPhone开发之深入浅出 (2) — ARC之@property使用
- iOS应用开发:ARC之@property使用
- iPhone开发之深入浅出 (2) — ARC之@property使用
- iPhone开发之深入浅出 (2) — ARC之@property使用
- iPhone开发之深入浅出 (2) — ARC之@property使用
- iPhone开发之深入浅出 (2) — ARC之@property使用
- iPhone开发之深入浅出 (2) — ARC之@property使用
- iPhone开发之深入浅出 (2) — ARC之@property使用
- 手把手教你ARC——iOS/Mac开发ARC入门和使用
- 手把手教你ARC——iOS/Mac开发ARC入门和使用
- iOS开发是否应该使用ARC?
- iOS开发是否应该使用ARC?
- 手把手教你ARC——iOS/Mac开发ARC入门和使用
- 手把手教你ARC——iOS/Mac开发ARC入门和使用
- 手把手教你ARC——iOS/Mac开发ARC入门和使用
- iOS 开发,工程中混合使用 ARC 和非ARC