我应该在didReceiveMemoryWarning之后以什么方法重新创建资源?

pla*_*ker 8 iphone memory-management uiviewcontroller ios

我有一个具有私有NSArray变量的视图控制器.变量在viewDidLoad方法中初始化.当didReceiveMemoryWarning被称为时,会出现一些问题:

  1. 我应该将私有变量设置为nil
  2. 如果我将它设置为nil必须重新创建的方法?视图控制器是否调用viewDidLoad方法来重新创建它?

我问,因为视图的其他方法需要这个变量,如果它是不可行的nil.

谢谢!

Vig*_*esh -2

最好将变量设置为零。我的意思是释放它所持有的内存didReceiveMemoryWarning并设置一个脏标志。

您始终可以检查数组 getter 中的脏标志(您可以编写自己的)并重新填充它。这可能不是最好的方法。这完全取决于阵列的用途。