Последние несколько месяцев я разрабатывал приложение для iPhone. Недавно я хотел повысить производительность и кэшировать несколько изображений, которые используются в пользовательском интерфейсе. Изображения загружаются пользователем из Интернета случайным образом, поэтому я не могу добавить определенные изображения в проект. Я также уже использую NSUserDefaults для сохранения другой информации в приложении.
Так что теперь я пытаюсь сохранить словарь UIImages в мой объект NSUserDefaults и получить ...
- [UIImage encodeWithCoder:]: нераспознанный селектор отправлен в экземпляр
Затем я решил создать подкласс UIImage с классом UISaveableImage и реализовать NSCoding. Так что теперь я в ...
@implementation UISaveableImage
-(void)encodeWithCoder:(NSCoder *)encoder
{
[encoder encodeObject:super forKey:@"image"];
}
-(id)initWithCoder:(NSCoder *)decoder
{
if (self=[super init]){
super = [decoder decodeObjectForKey:@"image"];
}
return self;
}
@end
, что не лучше, чем то, с чего я начал. Если бы мне удалось преобразовать UIImage в NSData, я был бы хорош, но все, что я могу найти, - это функция, подобная UIImagePNGRepresentation, которая требует, чтобы я знал, какой это был тип изображения. То, что UIImage не позволяет мне делать. Мысли? Я чувствую, что, возможно, сбился с неверного пути ...