iPhone - Почему в документации говорится, что UIImageView NSCoding совместимый?

В Android Studio я пытался установить compileSdkVersion и targetSdkVersion на 19.

Моим решением было заменить в нижней части build.gradle, из это:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:21.0.3'
}

На более старую версию библиотеки appcompat:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:19.+'
}
12
задан lostInTransit 2 July 2009 в 05:48
поделиться

1 ответ

Документация вводит в заблуждение - UIImage не соответствует NSCoding , как вы заявили. Вы можете обойти это (примитивным способом), выполнив работу самостоятельно:

@interface UIImage (NSCoding)
- (id)initWithCoder:(NSCoder *)decoder;
- (void)encodeWithCoder:(NSCoder *)encoder;
@end

@implementation UIImage (NSCoding)
- (id)initWithCoder:(NSCoder *)decoder {
  NSData *pngData = [decoder decodeObjectForKey:@"PNGRepresentation"];
  [self autorelease];
  self = [[UIImage alloc] initWithData:pngData];
  return self;
}
- (void)encodeWithCoder:(NSCoder *)encoder {
  [encoder encodeObject:UIImagePNGRepresentation(self) forKey:@"PNGRepresentation"];
}
@end
33
ответ дан 2 December 2019 в 03:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: