为啥我的 NSUserDefaults 无法加载?

Posted

技术标签:

【中文标题】为啥我的 NSUserDefaults 无法加载?【英文标题】:Why won't my NSUserDefaults load?为什么我的 NSUserDefaults 无法加载? 【发布时间】:2010-07-07 03:09:53 【问题描述】:

所以我有一个 iphone 应用程序,如果用户没有注册,它会在启动时显示模式视图。一旦他们注册,它将用户 ID 保存到 NSUserDefaults 中。当应用稍后启动时,它需要在 appdelegate 文件中加载这个用户 ID。

//Registration.m
NSUserDefaults *savedUID = [NSUserDefaults standardUserDefaults];
[savedUID setObject:UID forKey:@"user_id"];

//AuctionTracAppDelegate.m
NSUserDefaults *savedID = [NSUserDefaults standardUserDefaults];
NSString *uidString = [savedID stringForKey:@"user_id"];

我的问题是,当我尝试在单独执行时加载此值时,我保存的对象始终为空。我知道它正在正确保存字符串对象。此外,这种奇怪的行为刚刚浮出水面。这个确切的代码在早些时候工作,然后在处理一个完全不相关的文件之后,这个代码失败了。我对发生的事情一无所知。有什么提示吗?

【问题讨论】:

【参考方案1】:

相信你需要调用synchronize方法。

【讨论】:

是的。前几天我自己也碰到了这个。 感谢您解决了这个问题!!!! :D 现在我只需要弄清楚所有这些内存泄漏 :o

以上是关于为啥我的 NSUserDefaults 无法加载?的主要内容,如果未能解决你的问题,请参考以下文章

如何在我的应用加载之前从 NSUserDefaults 检索值...?

UISwitch 无法正常工作

复选框保存/加载NSUserdefaults

为啥 `NSUserDefaults` 不允许存储自定义类的对象?

为啥在 iOS 中使用 NSUserDefaults?

为啥我的图像无法在 Swift 中正确加载