Я хочу, чтобы хранить массив UIImage и я делаю это:IOS: NSUserDefault для массива UIImage
//in didFinishLaunchingWithOption
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSData *data = [defaults objectForKey:@"theKey"];
if (data == NULL) arrayImage = [[NSMutableArray alloc] init];
else {arrayImage = [[NSMutableArray alloc] init]; arrayImage = [NSKeyedUnarchiver unarchiveObjectWithData:data];}
NSLog(@"arrayImage:%@", arrayImage);
//and in applicationDidEnterBackground
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:arrayImage];
[defaults setObject:data forKey:@"theKey"];
NSLog(@"arrayImage:%@", arrayImage);
когда приложение работать в didFinishLaunchingWithOption в NSLog я вижу все объекты в моем массиве, но когда я использую это, у меня есть сбой, который говорит: «[__NSArrayM count]: сообщение отправлено на освобожденный экземпляр« почему?
Я забыл сохранить сообщение до моего последнего подхода! Вы должны заменить последнюю команду любым из них: arrayImage = [[NSMutableArray arrayWithArray: arr] сохранить]; или arrayImage = [arr mutableCopy]; –
отлично !!!!!!!!!! – CrazyDev