Похоже, вам нужно будет заархивировать свой массив с помощью NSKeyedArchiver
или NSArchiver
. Если вы сначала заархивируете массив в объект NSData:
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:myArray];
Затем вы можете сохранить эти данные в NSUserDefaults следующим образом:
[[NSUserDefaults standardUserDefaults] setObject:data forKey:@"myArray"];
Чтобы загрузить массив, используйте:
NSData *data = [[NSUserDefaults standardUserDefaults] objectForKey:@"myArray"];
NSArray *myArray = [NSKeyedUnarchiver unarchiveObjectWithData:data];
Если вы хотите использовать NSMutableArray, просто замените любые вхождения NSArray
в приведенном выше коде на NSMutableArray
. ИЛИ вы можете просто NSMutableArray *myMutableArray = [myArray mutableCopy]
предоставить вам NSMutableArray для работы.
Но тогда, эй, если вы собираетесь сделать его совместимым с NSCoding, почему бы просто не заархивировать его в файл?
Документация, которая заставила меня подумать, что вам нужно будет использовать архиватор: здесь, чтобы вы могли убедиться сами.
person
Stone Mason
schedule
19.09.2010