2011-12-10 117 views
1

我想將NSArray保存爲NSUSerDefaults。如果我在模擬器上執行它,一切正常,如果我在Device上執行它,它不起作用。NSUserdefaults適用於模擬器,但不適用於設備

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

是否在設置/更新後同步它們?

[[NSUserDefaults standardUserDefaults] synchronize]; 
+0

不,它很重要嗎? –

+0

是它的重要..把它放在「[prefs setObject:Test2 forKey:@」Kosten「];」看看你是否能夠從nsuserdefaults – Saurabh

+0

得到數據不,沒有任何改變......該死的,爲什麼它在模擬器上工作,但不是在設備上?!? –

0

由於Saurabh要求我發佈我的解決方案,我會爲其他讀者做。

我的問題代碼是如下:

[derText1 resignFirstResponder] 
[derText2 resignFirstResponder] 

NSArray *Test1 = [Daten copy]; 
NSArray *Test2 = [Kosten copy]; 

[prefs setObject:Test1 forKey:@"Daten"]; 
[prefs setObject:Test2 forKey:@"Kosten"]; 

這個工作在iPhone 4仿真與XCode的3.2.5,但裝不上我與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。看看辭職First Responder Entrys的立場。他們似乎必須在儲蓄之後。我不知道爲什麼,但它有效。

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]; 
相關問題