2012-08-05 108 views
0

我無法獲取一些寫在我的.plist和NSUser默認文件中的信息。
對於的.plist我已經發布,但是,似乎沒有什麼是錯的:在NSUserDefault和.plist中寫入失敗

How to update an array set into the .plist dictionary

而對於NSUser默認,我做這樣的事情:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
NSMutableArray *userSettings = [[NSMutableArray alloc]initWithArray:[[defaults objectForKey:@"userSettings"]mutableCopy]]; 

[userSettings addObject:userSettingsArray];//adding an array into my userSettingsArray (declared higher in the code) 
[defaults setValue:userSettings forKey:@"userSettings"]; 
[defaults synchronize]; 

我徘徊,Xcode允許或不允許用戶寫入應用程序文件夾嗎?

我有點卡住這裏

感謝你的幫助,

+0

什麼是不工作?似乎目前爲止... – Mario 2012-08-05 22:39:06

+0

是什麼導致你斷定你的設置沒有被存儲?代碼看起來相當混亂; 'mutableCopy'完全是多餘的,你正在構建一個數組數組? – Tommy 2012-08-05 22:47:27

+0

@Mario:數組沒有被複制,當我想要檢索存儲的信息時,數組是空的。 – Tim 2012-08-06 00:38:38

回答

0

我找到了解我的問題: 我進入從IBOutlet中的DATAS這樣

[self.tempUserSettings insertObject:self.firstName atIndex:1]; 

,而不是這樣的:

[self.tempUserSettings insertObject:self.firstName.text atIndex:1]; 

所以數據均錯誤,等等等等.....

感謝您的幫助,從這些.plist和NSUserDefault瞭解了很多

0

使用

[defaults setObject:userSettings forKey:@"userSettings"]; 

,而不是

[defaults setValue:userSettings forKey:@"userSettings"]; 
+0

不,我無法獲得在UserDefaults中寫入的數組。這是我的代碼從NSUserDefault獲取數組:NSUserDefaults * defaults = [NSUserDefaults standardUserDefaults]; NSArray * userSettings = [[NSArray alloc] initWithArray:[defaults objectForKey:@「userSettings」]]; _tempUserArray = [[NSArray alloc] initWithArray:userSettings]; – Tim 2012-08-17 12:59:19

+0

嘗試添加一個NSArray到用戶默認值而不是NSMutableArray。如果這不起作用,你可以隨時將你的數組轉換成NSData,然後將其保存爲用戶默認值。如果你這樣做,你將永遠不得不在編碼/解碼數據之前使用它。你可以在蘋果文檔中找到這是如何完成的。 – 2012-08-20 08:46:29