kir*_*mar 7 iphone properties object objective-c retain
什么时候应该使用nonatomic,retain,readonly和readwrite在Objective-C的属性?
例如:
@property(nonatomic, retain) NSObject *myObject;
Run Code Online (Sandbox Code Playgroud)
如果我使用nonatomic和retain,这是否意味着该对象将被保留?
小智 10
首先,我想将David Gelhar的评论推广到一个完整的答案.修饰符atomic和nonatomic什么都没有做线程安全.有关该空间的更多详细信息,请参阅此问题.
您列出的其他项目可以相对简单地解决.如果你想要更多,我会简要地点击它们并指向你关于属性修饰符的文档.
atomicvs nonatomic主要确保从合成的getter返回完整的值,并且完整的值由合成的setter写入.
readwritevs readonly确定合成属性是否具有合成访问readwrite器(具有setter并且是默认值,readonly不是).
assignvs retainvs copy确定合成访问器如何与Objective-C内存管理方案交互.assign是默认值,只是执行变量赋值.retain指定应-retain在赋值时发送的新值以及发送的旧值-release.copy指定应-copy在赋值时发送的新值以及发送的旧值-release.
| 归档时间: |
|
| 查看次数: |
6470 次 |
| 最近记录: |