我已经设定了,
这是我在applicationwillterminate方法中的下面代码。
NSString *string4 = @"Objective-C";
NSUserDefaults* defs7 = [NSUserDefaults standardUserDefaults];
[defs7 setObject:string4 forKey:@"subject_textfield"];
这是我在applicationdidfinishlaunching方法中的下面代码。
NSUserDefaults* defs7 = [NSUserDefaults standardUserDefaults];
subject_textfield.text = [defs7 stringForKey:@"subject_textfield"];
但是,当我按回家然后我再次启动应用程序 那时我得到了subject_textfield.text的零值。
为什么会这样?
答案 0 :(得分:1)
applicationwillterminate
可能无法在iOS4
中调用。如果您使用的是iOS4,请查看以下活动:
didFinishLaunchingWithOptions
applicationWillResignActive
applicationWillEnterForeground
applicationDidBecomeActive
答案 1 :(得分:0)
使用[[NSUserDefaults standardUserDefaults] synchronize];
强制保存NSUserDefaults。
参考:
因为这种方法是自动的 定期调用,使用 这种方法只有你不能等待 用于自动同步(for 例如,如果您的应用程序是关于 退出)或者如果你想更新 用户默认为磁盘上的内容 虽然你没有做任何改变。