У меня ... странная проблема.
Я добавляю NSDictionary в NSArray, а затем сохраняю его по умолчанию.Когда я проверяю количество объектов этого ключа по умолчанию пользователя, он говорит, что счетчик равен 0, но массив, который находится «в памяти», имеет этот объект (поэтому счетчик равен 1).
Код, а такжес выводом, который он выдает:
(массив - это NSArray, значения по умолчанию - [NSUserDefaults standardUserDefaults])
- (void)addSongToQueue:(NSDictionary *)songData {
[array addObject:songData];
[defaults setObject:array forKey:@"OfflineArray"];
[defaults synchronize];
#if DEBUG
NSLog(@"Dictionary Data Received: %@", songData);
NSLog(@"Object Count on Array: %u", [array count]);
NSLog(@"Object Count on Defaults: %u", [[NSArray arrayWithArray:[defaults objectForKey:@"OfflineArray"]] count]);
[defaults removeObjectForKey:@"OfflineArray"];
[defaults synchronize];
#endif
}
Вот как я его называю:
[className addSongToQueue:[NSDictionary dictionaryWithObjectsAndKeys:@"yadda", @"yadda", nil]];
Это вывод: (Я запустил его дважды, просто чтобы убедиться: P)
2010-10-11 21:47:35.807 AppName[1119:207] Dictionary Data Received: {
yadda = yadda;
}
2010-10-11 21:47:35.807 AppName[1119:207] Object Count on Array: 1
2010-10-11 21:47:35.808 AppName[1119:207] Object Count on Defaults: 0
2010-10-11 21:47:36.647 AppName[1119:207] Dictionary Data Received: {
yadda = yadda;
}
2010-10-11 21:47:36.647 AppName[1119:207] Object Count on Array: 2
2010-10-11 21:47:36.648 AppName[1119:207] Object Count on Defaults: 0
Так что да.Я не могу быть в состоянии решить это.: /
Заранее спасибо.:)