我想将NSArray
保存到NSUSerDefaults
。如果我在模拟器上执行它一切正常,如果我在Device上执行它,它就不起作用。
NSArray *Test1 = [Daten copy];
NSArray *Test2 = [Kosten copy];
[prefs setObject:Test1 forKey:@"Daten"];
[prefs setObject:Test2 forKey:@"Kosten"];
我正在使用上面的代码。
prefs
是正常的NSUserDefaults
,例如NSUserDefaults *prefs = [NSUserDefaults standartUserDefaults];
...
Daten& Kosten是可变阵列,可以使用。
一切都在模拟器上运行,但在设备上它不起作用......
有人有想法吗?
答案 0 :(得分:0)
您是在设置/更新后同步它们吗?
[[NSUserDefaults standardUserDefaults] synchronize];
答案 1 :(得分:0)
因为Saurabh要求我发布我的解决方案,我会为其他读者做。
我的问题代码如下:
[derText1 resignFirstResponder]
[derText2 resignFirstResponder]
NSArray *Test1 = [Daten copy];
NSArray *Test2 = [Kosten copy];
[prefs setObject:Test1 forKey:@"Daten"];
[prefs setObject:Test2 forKey:@"Kosten"];
这适用于带有XCode 3.2.5的iPhone 4模拟器,但不适用于安装了iOS 5.x的设备。
所以我已经从Apple下载并安装了最新的XCode版本。
之后它也无法与模拟器一起使用。看起来这个问题只适用于iOS 5软件。
我将代码改为:
NSArray *Test1 = [Daten copy];
NSArray *Test2 = [Kosten copy];
[prefs setObject:Test1 forKey:@"Daten"];
[prefs setObject:Test2 forKey:@"Kosten"];
[derText1 resignFirstResponder]
[derText2 resignFirstResponder]
它使用最新的iOS在设备和模拟器上工作。看看辞职的第一响应者Entrys的位置。他们似乎必须在拯救之后。我不知道为什么,但它确实有效。
答案 2 :(得分:0)
NSArray *Test1 = [Daten copy];<p>
NSArray *Test2 = [Kosten copy];<p>
NSUserDefaults *prefs;<p>
prefs= [[NSUserDefaults standardUserDefaults]setObject:Test1 forKey:@"Daten"];<p>
[[NSUserDefaults standardUserDefaults] synchronize];
prefs= [[NSUserDefaults standardUserDefaults]setObject:Test2 forKey:@"Kosten"];<p>
[[NSUserDefaults standardUserDefaults] synchronize];