NSUserDefault 有时不会保存自己
Posted
技术标签:
【中文标题】NSUserDefault 有时不会保存自己【英文标题】:NSUserDefault some times doesn't save itself 【发布时间】:2014-08-24 07:51:08 【问题描述】:我的应用获得了床位评论,因为用户每次进入应用时都必须恢复购买...这让我抓狂,因为我的 iPhone 上没有这个问题。进行交易时,我的应用会调用以下代码:
[self.data setObject:[NSNumber numberWithInt:1] forKey:@"fullBought"];
[self.data synchronize];
就是这样!然后应用检查if([self.data objectForKey:@"fullBought"] != [NSNumber numberWithInt:1)
。
我试图删除[self.data synchronize]
,但我什至无法检查结果,因为我没有那个问题!
请帮我找出问题...
【问题讨论】:
self.data
是什么?
self.data = [NSUserDefaults standardUserDefaults];
【参考方案1】:
NSUserDefaults 似乎不是问题。 您在此指令中使用“!=”运算符比较对象:
if([self.data objectForKey:@"fullBought"] != [NSNumber numberWithInt:1)
您应该比较它们的值。使用此运算符,您可以比较内存地址。 你应该做的是:
if([[self.data objectForKey:@"fullBought"] intValue] != 1)
【讨论】:
会试一试,我认为这就是解决方案。但是为什么我的代码可以在我的设备上运行,并且在用户没有杀死应用程序的情况下对用户有用? 非常感谢 ;) 忘记了我无法测试...会尝试对一些报告问题的人处以罚款并要求他们为我测试。以上是关于NSUserDefault 有时不会保存自己的主要内容,如果未能解决你的问题,请参考以下文章