我是Objective-C(和stackoverflow)的新手,我有点关于属性的最佳实践.
我的理解是,当你完全使用属性时,可以通过释放它们来避免错误,然后立即设置为nil,以便后续消息也返回nil而不是异常.
[myProperty release],myProperty = nil;
但是,当涉及到"复制"和"保留"属性的dealloc时,是否需要同时执行这两个操作?或做一个简单的
[myProperty发布]剪了吗?另外,我是否正确,我不需要在dealloc中释放'assign'属性?
谢谢!
Sea*_*ell 17
释放,但不要打扰设置为零.通过@synthesized setter设置为nil:
self.myProperty = nil
Run Code Online (Sandbox Code Playgroud)
将作为重新分配的一部分释放您的旧值(尽管如评论中所述,可能有不必要的副作用),但只是将nil分配给您的成员变量:
myProperty = nil
Run Code Online (Sandbox Code Playgroud)
将不会.
[myProperty release]
Run Code Online (Sandbox Code Playgroud)
是你所需要的全部.
(而且你对"分配"属性是正确的.)
| 归档时间: |
|
| 查看次数: |
4720 次 |
| 最近记录: |