我正在尝试学习iOS 5中的自动引用计数.现在这个问题的第一部分应该很简单:
它是正确的,我不使用ARC时需要写在我的dealloc明确释放属性声明?换句话说,这是真的,以下就不是需要一个明确的dealloc的?
@interface MyClass : NSObject
@property (strong, nonatomic) NSObject* myProperty;
@end
@implementation MyClass
@synthesize myProperty;
@end
Run Code Online (Sandbox Code Playgroud)我的下一个也是更重要的问题来自" 转换为ARC发行说明"文档中的一行:
您不必(实际上不能)释放实例变量,但您可能需要在系统类和其他未使用ARC编译的代码上调用[self setDelegate:nil].
这引出了一个问题:我怎么知道哪些系统类没有用ARC编译?我什么时候应该创建自己的dealloc并明确地将强保留属性设置为nil?我应该假设属性中使用的所有NS和UI框架类都需要显式的deallocs吗?
在使用手动参考跟踪时,有关SO和其他地方有关释放财产支持ivar的做法的大量信息,但在使用ARC时相对较少.