當用戶通過我的iPhone應用程序登錄時,我在NSUserDefaults中創建了一堆默認元素。其中之一是一個NSMutableArray,我添加下面的方法:存儲在NSUserDefaults中的NSMutableArray不會保存數據
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
NSMutableArray *theArray = [NSMutableArray array];
[prefs setObject:theArray forKey:@"theArray"];
這完美的作品。但是,當我想從theArray
插入或檢索值時,出現了一些問題。下面是從另一個文件在我的應用程序的摘錄:
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
[[prefs objectForKey:@"theArray"] setValue:@"This is a value" forKey:@"aValue"];
NSLog(@"%@", [[prefs objectForKey:@"theArray"] valueForKey:@"aValue"]);
我希望看到「這是一個值」在控制檯當代碼運行,而是我得到這個:
2011-08-08 18:35:17.503 MyApp[7993:10d03] (
)
陣列如何是空的?我已經嘗試使用NSArray具有相同結果的相同的東西。
不要忘記同步對NSUserDefaults所做的更改。請參閱:http://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSUserDefaults_Class/Reference/Reference.html#//apple_ref/occ/instm/NSUserDefaults/synchronize –
謝謝,沃爾夫岡。問題依然存在。 – wstr