2009-06-05 20 views
0

Wenn ich auf die Konsole schaue, während meine iPhone App heruntergefahren wird, scheint es so, als ob mein encodewithcoder zweimal aufgerufen wird. Obwohl ich nur einmal ein Array von 'NewsItems' kodiere.NSKeyedArchiver wird zweimal aufgerufen

Ist das normal?

(void)encodeWithCoder:(NSCoder *)encoder { 
    NSLog(@"News encode called %@", self.title);  

    [encoder encodeObject:self.newsItemId forKey:KNewsItemNewsIdKey]; 
    [encoder encodeObject:self.title forKey:KNewsItemTitleKey]; 
    [encoder encodeObject:self.author forKey:KNewsItemAuthorKey]; 
    [encoder encodeObject:self.description forKey:KNewsItemDescriptionKey]; 
    [encoder encodeObject:self.imageUrl forKey:KNewsItemImageUrlKey]; 
    [encoder encodeObject:self.thumbnailUrl forKey:KNewsItemThumbnailUrlKey]; 
    [encoder encodeObject:self.createdAt forKey:KNewsItemCreatedAtKey]; 

    //Images 
    //convert from PNG to NSData, other method available for JPG 
    NSData *savedImageData = UIImagePNGRepresentation(self.savedImage); 
    [encoder encodeObject:savedImageData forKey:KNewsItemSavedImageKey]; 

    NSData *thumbnailImageData = UIImagePNGRepresentation(self.savedThumbnail); 
    [encoder encodeObject:thumbnailImageData forKey:KNewsItemSavedThumbnailKey]; 

} 


//code to encode 
    [archiver encodeObject:self.newsArray forKey:KNewsArrayDataKey]; 

Antwort

0

Setzen Sie einen Haltepunkt auf Ihrer NSLog() Anweisung und überprüfen Sie Ihren Stack-Trace, um zu sehen, die Sie jedes Mal anruft.

Verwandte Themen