Сохранение NSMutableArray с UIImages в NSUserDefaults - PullRequest
0 голосов
/ 09 ноября 2011

Я пытался сохранить NSMutableArray, который содержит пять UIImages в NSUserDefaults и не работал.я получил предупреждение

-[NSUserDefaults setObject:forKey:]: Attempt to insert non-property value '(
    "UIImage: 0x4c76570,
    "UIImage: 0x4c76570",
    "UIImage: 0x4c76570",
    "UIImage: 0x4c76570",
    "UIImage: 0x4c76570"
)' of class '__NSArrayM'.

ОК, похоже, мне нужно архивировать мой массив в NSData.Но как мне сделать UIImage для соответствия NSCoding?Должен ли я сначала преобразовать свои изображения в NSData или, может быть, есть более простой способ?

1 Ответ

4 голосов
/ 09 ноября 2011

Да, вам потребуется использовать функции UIImagePNGRepresentation или UIImageJPEGRepresentation для извлечения двоичных данных изображения в нужном формате, который затем можно сериализовать в NSArray.

Пример:

UIImage *someImage = ...;
NSData *someImageData = UIImagePNGRepresentation(someImage);
[yourArray addObject:someImageData];

//...

[[NSUserDefaults standardUserDefaults] setObject:yourArray forKey:@"images"];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...