Dans mon People.h, je mets en œuvre NSCoding, En People.m:Pourquoi je ne peux pas convertir NSString à NSData
@implementation People
@synthesize name;
- (void) encodeWithCoder:(NSCoder *)aCoder {
[aCoder encodeObject:name forKey:@"name"];
}
-(id) initWithCoder:(NSCoder *)aDecoder {
if (self = [super init]) {
self.name = [aDecoder decodeObjectForKey:@"name"];
}
return self;
}
@end
Dans ma fonction viewDidLoad du contrôleur.
People *people1 = [[People alloc] init];
people1.name = @"kevin";
NSData *saveData = [NSKeyedArchiver archivedDataWithRootObject:people1];
NSString *saveDataString = [[NSString alloc] initWithData:saveData encoding:NSASCIIStringEncoding];
NSData *resultData = [saveDataString dataUsingEncoding:NSASCIIStringEncoding];
People *people2 = [NSKeyedUnarchiver unarchiveObjectWithData:resultData];
NSLog(@"%@",people2.name);
[super viewDidLoad];
Pourquoi j'ai une valeur nulle à la fin de cette fonction. Ai-je eu quelques erreurs?
Merci!
Le but pourquoi je aime ce que je dois garder l'objet NSString dans ma base de données SQLite. – Daemon