【发布时间】:2014-08-14 06:13:58
【问题描述】:
我正在尝试将数据保存在 NSUserDefaults 中。此代码(和应用程序)第一次循环时,它应该通过 if 语句。因为在 NSUserdefaults 中没有保存数据,所以保存的名称为:BoughtItem0、BoughtItem1、BoughtItem2、BoughtItem3。
但不知何故,在第一次循环代码之后,第二次启动我的应用程序后,它一直在执行 if 语句。我的代码有什么问题?
for (int i = 0; i < [shopPrices count]; i++)
{
if ([[NSUserDefaults standardUserDefaults] objectForKey:@"BoughtItem%d"] == nil)
{
[[NSUserDefaults standardUserDefaults] setValue:@"NONO" forKey:[NSString stringWithFormat:@"BoughtItem%d", i]];
NSLog(@"BoughtItem%d", i);
}
else
{
NSLog(@"No new bought item keys made");
}
}
输出是:
BoughtItem0
BoughtItem1
BoughtItem2
BoughtItem3
【问题讨论】:
-
尝试使用
setObject:forKey。如果这不起作用,请在设置所有值后致电synchronize。
标签: ios nsuserdefaults