ユーザーが自分のiPhoneアプリケーションからサインインすると、NSUserDefaultsに一連のデフォルト要素が作成されます。これらのうちの1つはNSMutableArrayで、次のように追加します:NSUserDefaultsに格納されているNSMutableArrayはデータを保存しません
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
NSMutableArray *theArray = [NSMutableArray array];
[prefs setObject:theArray forKey:@"theArray"];
これは完璧に機能します。しかし、theArray
から値を挿入または取得する場合、何かが間違っています。
2011-08-08 18:35:17.503 MyApp[7993:10d03] (
)
:私は、コードが実行されたコンソールで、「これが値である」が、代わりに私はこれを見ることを期待する
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
[[prefs objectForKey:@"theArray"] setValue:@"This is a value" forKey:@"aValue"];
NSLog(@"%@", [[prefs objectForKey:@"theArray"] valueForKey:@"aValue"]);
:ここに私のアプリでは、別のファイルからの抜粋ですどのように配列は空ですか?私は同じ結果を持つNSArrayを使用して同じことを試みました。
NSUserDefaultsに加えられた変更を同期することを忘れないでください。参照:http://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSUserDefaults_Class/Reference/Reference.html#//apple_ref/occ/instm/NSUserDefaults/synchronize –
ありがとう、Wolfgang。しかし、問題は続く。 – wstr