Когда пользователь входит через мое приложение для iPhone, я создаю группу элементов по умолчанию в 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 с тем же результатом.