如何解决为什么我的NSUserDefault值未写入?
| 我正在尝试使用NSUserDefaults来跟踪我的iOS应用程序中的某些促销数据,但是它并没有像我期望的那样工作。这是代码... Nsstring *promoID = [[[self currentPromo] allKeys] objectAtIndex:0];
if(![[NSUserDefaults standardUserDefaults] boolForKey:[Nsstring stringWithFormat:@\"promoid-%@\",promoID]])
{
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:[Nsstring stringWithFormat:@\"promoid-%@\",promoID]];
.
.
.
每当执行此if语句时,都会执行其中的代码。 if语句中的代码不应该只执行一次吗?
非常感谢您的智慧!
解决方法
取决于您再次执行此操作的速度。
NSUserDefaults不会立即同步。如果要执行此操作,则需要在设置值后调用
[[NSUserDefaults standardUserDefaults] synchronize];
。
,使用syncnize关键字在NSUserDefaults中检索数据
[[NSUserDefaults standardUserDefaults]同步];
这将检索并显示数据。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。