use*_*951 2 cocoa cocoa-touch delegates automatic-ref-counting declared-property
一些Cocoa和Cocoa Touch类声明它们的委托属性assign
而不是weak
,它强制类的用户nil
输出属性dealloc
-(void)dealloc
{
self.imageScrollView.delegate = nil;
self.tableView.delegate = nil;
self.tableView.dataSource = nil;
}
Run Code Online (Sandbox Code Playgroud)
这非常麻烦.
为什么苹果会这样做?
原因是并非所有系统类都使用ARC编译.
如果需要管理除释放实例变量之外的资源,则可以实现dealloc方法.您不必(实际上您不能)释放实例变量,但您可能需要在系统类和未使用ARC编译的其他代码上调用[systemClassInstance setDelegate:nil].
请参阅developer.apple.com上的此页面:转换为ARC发行说明
归档时间: |
|
查看次数: |
285 次 |
最近记录: |