NSUserDefault有时候并没有自救

时间:2014-08-24 07:51:09

标签: ios save nsuserdefaults

我的应用程序正在进行床评,因为用户每次进入应用程序时都必须恢复购买...这让我发疯,因为我的iPhone上没有这个问题。交易完成后,我的应用程序会调用以下代码:

[self.data setObject:[NSNumber numberWithInt:1] forKey:@"fullBought"];
[self.data synchronize];

那就是它!然后应用检查if([self.data objectForKey:@"fullBought"] != [NSNumber numberWithInt:1)

我尝试删除[self.data synchronize],但我甚至无法检查结果,因为我没有遇到这个问题!

请帮我解决问题...

1 个答案:

答案 0 :(得分:3)

NSUserDefaults似乎不是问题。 您正在使用此指令中的“!=”运算符比较对象:

if([self.data objectForKey:@"fullBought"] != [NSNumber numberWithInt:1)

你应该比较他们的价值。使用此运算符,您将比较内存地址。 你应该做的是:

if([[self.data objectForKey:@"fullBought"] intValue] != 1)