相关疑难解决方法(0)

使用ARC时,我是否在dealloc中将属性设置为nil?

我正在尝试学习iOS 5中的自动引用计数.现在这个问题的第一部分应该很简单:

  1. 它是正确的,我使用ARC时需要写在我的dealloc明确释放属性声明?换句话说,这是真的,以下就不是需要一个明确的dealloc的?

    @interface MyClass : NSObject
    @property (strong, nonatomic) NSObject* myProperty;
    @end
    
    @implementation MyClass
    @synthesize myProperty;
    @end
    
    Run Code Online (Sandbox Code Playgroud)
  2. 我的下一个也是更重要的问题来自" 转换为ARC发行说明"文档中的一行:

    您不必(实际上不能)释放实例变量,但您可能需要在系统类和其他未使用ARC编译的代码上调用[self setDelegate:nil].

    这引出了一个问题:我怎么知道哪些系统类没有用ARC编译?我什么时候应该创建自己的dealloc并明确地将强保留属性设置为nil?我应该假设属性中使用的所有NS和UI框架类都需要显式的deallocs吗?

在使用手动参考跟踪时,有关SO和其他地方有关释放财产支持ivar的做法的大量信息,但在使用ARC时相对较少.

objective-c ios automatic-ref-counting

123
推荐指数
1
解决办法
3万
查看次数

标签 统计

automatic-ref-counting ×1

ios ×1

objective-c ×1