iPhone + NSUserDefault + NSString

时间:2010-02-22 07:49:09

标签: iphone

我正在使用NSUsersDefault在应用程序中断时保存应用程序的状态。

我正在做的是我在运行应用程序的类中创建了一个方法“saveState”,在这个方法中,我在NSUsersDefault中保存了所有必要的东西,其中我有很少的NSString,我正在保存像

[prefs setObject:batsman1HowOut forKey:@“batsman1HowOut”];

现在,我从AppDelegate类调用“saveState”方法 - > applicationWillTerminate方法。

所以,当发生中断时,将会发生app委托类,并且将调用applicationWillTerminate方法,它将转到我将所有内容存储在NSUsersDefault中的类的“saveState”方法。

问题是当我尝试保存NSString(如上所述)时,它给出了一个错误,说它超出了范围。

请帮帮我。

此致 PRATIK

1 个答案:

答案 0 :(得分:0)

当调用applicationWillTerminate方法时,可能该字符串已被释放。将其保存到NSUserDefaults后,尝试释放该字符串。这不会导致内存泄漏,因为每次关闭应用程序时,都会调用applicationWillTerminate。