J'essaie de sérialiser un objet contenant un certain nombre de champs de données ... où l'un des champs est de type NSData qui ne sera pas sérialisé. J'ai suivi les instructions à http://www.isolated.se mais mon code (voir ci-dessous) entraîne l'erreur "[NSConcreteData data]: sélecteur non reconnu envoyé à l'instance ...". Comment puis-je sérialiser mon objet?Comment sérialiser un objet contenant NSData?
fichier d'en-tête:
@interface Donkey : NSObject<NSCoding>
{
NSString* s;
NSData* d;
}
@property (nonatomic, retain) NSString* s;
@property (nonatomic, retain) NSData* d;
- (NSData*) serialize;
@end
fichier de mise en œuvre:
@implementation Donkey
@synthesize s, d;
static NSString* const KEY_S = @"string";
static NSString* const KEY_D = @"data";
- (void) encodeWithCoder:(NSCoder*)coder
{
[coder encodeObject:self.s forKey:KEY_S];
[coder encodeObject:self.d forKey:KEY_D];
}
- (id) initWithCoder:(NSCoder*)coder;
{
if(self = [super init])
{
self.s = [coder decodeObjectForKey:KEY_S];
self.d = [coder decodeObjectForKey:KEY_D];
}
return self;
}
- (NSData*) serialize
{
return [NSKeyedArchiver archivedDataWithRootObject:self];
}
@end
quel type de données définissez-vous dans NSData * d? S'il vous plaît vérifier si c'est plainte NSCoding .... –