0

我有一个我写的名为 Location 的类,它只包含一些字符串。我在视图控制器中使用该类的两个实例,当我在 viewDidLoad 中初始化两个变量时,它们对于该方法工作正常,但是当我稍后尝试使用它们时它们为空。我将它们设置为保留属性。我已经测试过它们并且知道它们是为 viewDidLoad 初始化的(我在视图中使用它们的字段)。我是否必须在 Location 类中做一些特别的事情来确保它们不会被释放?当我用不同的方法重新初始化它们时,一切运行顺利。

4

2 回答 2

1

在 viewDidLoad 中正确初始化的实例变量应该像在任何其他方法中一样正常保留值。编码错误可能会导致您描述的问题,例如,如果您在 viewDidLoad 中有局部变量隐藏了同名的实例变量。

于 2010-08-06T02:21:46.933 回答
0

您(或事件循环)可能会在 viewDidLoad 完成后释放您正在初始化的对象,因为它们是自动释放的。为防止这种情况,请使用“retain”属性在类上设置有问题的变量属性,并在 dealloc 上将它们设置为 nil。

于 2010-08-06T05:57:21.617 回答