0

我正在开发一个转换为 ARC 的 iPad 应用程序。我的问题是,我们如何管理指向 -(void)viewDidUnload 和 -(void)didReceiveMemoryWarning 回调中的强指针的合成目标 c 对象。我知道管理网点以避免内存问题。但对目标 c 对象感到困惑。请给我回复...

4

2 回答 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 回答