我正在使用NSUsersDefault在应用程序中断时保存应用程序的状态。
我正在做的是我在运行应用程序的类中创建了一个方法“saveState”,在这个方法中,我在NSUsersDefault中保存了所有必要的东西,其中我有很少的NSString,我正在保存像
[prefs setObject:batsman1HowOut forKey:@“batsman1HowOut”];
现在,我从AppDelegate类调用“saveState”方法 - > applicationWillTerminate方法。
所以,当发生中断时,将会发生app委托类,并且将调用applicationWillTerminate方法,它将转到我将所有内容存储在NSUsersDefault中的类的“saveState”方法。
问题是当我尝试保存NSString(如上所述)时,它给出了一个错误,说它超出了范围。
请帮帮我。
此致 PRATIK
答案 0 :(得分:0)
当调用applicationWillTerminate方法时,可能该字符串已被释放。将其保存到NSUserDefaults后,尝试释放该字符串。这不会导致内存泄漏,因为每次关闭应用程序时,都会调用applicationWillTerminate。