Похоже, вам нужно будет заархивировать ваш массив, либо с 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, почему бы просто не заархивировать его в файл?
Документация, которая заставила меня подумать, что вам понадобится использовать архиватор: здесь , чтобы вы могли проверить сами.