我正在开发一个转换为 ARC 的 iPad 应用程序。我的问题是,我们如何管理指向 -(void)viewDidUnload 和 -(void)didReceiveMemoryWarning 回调中的强指针的合成目标 c 对象。我知道管理网点以避免内存问题。但对目标 c 对象感到困惑。请给我回复...
问问题
64 次
2 回答
1
viewDidUnload
已弃用并且在 iOS 6 或更高版本中不再调用,因此您不需要实现它。
对于didReceiveMemoryWarning
,您应该像对待非 ARC 中的任何 ivar 一样对待它们,即清除任何缓存或任何您可以轻松重新计算的数据,或者根据您的需要,将一些数据转储到磁盘并清除内存。不要忘记打电话给超级。
于 2013-07-30T04:30:29.423 回答
1
- (void)setMyObject:(MyObject *)anObject { _myObject = nil; _myObject = 一个对象;}
这是一个自定义的强setter方法,所以无论你是否写@synthesize,结果都是一样的,不会导致引用计数的变化。
你应该在 -(void)didReceiveMemoryWarning 方法中,写 self.myObject = nil;
于 2013-07-30T04:32:08.297 回答