Ich versuche ein Array zu speichern, das Modelle enthält, die aus einem Bild und einer Zeichenfolge bestehen, wobei [NSKeyedArchiver archicedDataWithRootObject: dataArray]; Diese Methode gibt jedoch nach 2-3-maligem Aufruf der Methode nil zurück. Dies geschieht nur, wenn das Modell, das ich zu archivieren versuche, ein Bild enthält. Ich habe überprüft, dass Daten-Array nicht Null ist. Beneath IS Code I am veRWeNdeN:NSKeyedArchiver archivedDataWithRootObject return nil, wenn ein Array von Image-Modellen übergeben wurde
@implementation ImagesModel
- (id)initWithCoder:(NSCoder *)coder{
if(self = [super init]){
self.image = [[UIImage alloc]initWithData:[coder decodeObjectForKey:@"image"]];
self.urlString = [coder decodeObjectForKey:@"urlString"];
}
return self;
}
- (void)encodeWithCoder:(NSCoder *)coder
{
[coder encodeObject:UIImagePNGRepresentation(self.image) forKey:@"image"];
[coder encodeObject:self.urlString forKey:@"urlString"];
}
+ (NSDictionary *)getObjectMapper {
if (!mapperDictionary) {
NSMutableDictionary *dictionary = [NSMutableDictionary dictionary];
[dictionary setObject:[PropertyMapping mappingForSimpleTypeWithMappedKeyName:@"image"] forKey:@"image"];
[dictionary setObject:[PropertyMapping mappingForSimpleTypeWithMappedKeyName:@"urlString"] forKey:@"urlString"];
mapperDictionary = [dictionary copy];
}
return mapperDictionary;
}
- (NSData)ArchiveData {
if (!dataArray){
return NO; //nothing to save
}
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:dataArray]; //Return Nil
}
Nun, was enthält Dataarray? – Mario
Es enthält Modelle, und jedes Modell besteht aus einem Bild und einer Zeichenfolge. –
Ich meine, wo ist es eingestellt? – Mario