peut me aider avec cette façon d'écrire un NSMutableDictionary dans un plist ....comment écrire NSMutableDictionary dans Plist
merci d'avance ..
peut me aider avec cette façon d'écrire un NSMutableDictionary dans un plist ....comment écrire NSMutableDictionary dans Plist
merci d'avance ..
Assurez-vous que le fichier pList que vous écrivez est situé dans un endroit légal pour le modifier, par exemple Documents dans le sandbox des applications. Ensuite, trouver le chemin vers cet endroit (s'il y a un fichier plist existant, il écrasera), et utiliser:
[myDictionary writeToFile:path atomically:YES];
Ecrire dans quelle mesure vous êtes dans le processus, et peut-être un code/erreur message. ..
[yourDict writeToFile:filePath atomically:YES];
Notez que le dictionnaire doit contenir plist objets (instances de NSData
, NSDate
, NSNumber
, NSString
, NSArray
ou NSDictionary
). Et les clés du dictionnaire doivent être objets
NSMutableDictionary *nameDetails=[[NSMutableDictionary alloc] init];
[nameDetails setValue:username forKey:USERNAME_KEY];
[nameDetails setValue:password forKey:PASSWORD_KEY];
NSString *loginDetails = [[NSBundle mainBundle] pathForResource:@"Login" ofType:@"plist"];
[nameDetails writeToFile:loginDetails atomically:YES];
savedStock = [NSMutableDictionary dictionaryWithContentsOfFile:loginDetails];
Le problème est que votre application tente d'écrire le plist dans son propre lot. Votre plist doit être stocké dans la bibliothèque de l'utilisateur. Toutefois, si vous stockez les informations d'identification d'un utilisateur pour un service, vous devez vraiment utiliser les services Mac OS X Keychain pour stocker ces informations.
NSString *pathToPlist = [[NSBundle mainBundle] bundlePath];
pathToPlist = [pathToPlist stringByDeletingLastPathComponent];
pathToPlist = [pathToPlist stringByAppendingPathComponent:@"Documents"];
NSLog(@"%@", pathToPlist; //*
pathToPlist = [pathToPlist stringByAppendingPathComponent:@"Login.plist"];
NSDictionary *nameDetails = @{@"name": @"Albert", @"password": @"emc2"};
[nameDetails writeToFile:pathToPlist atomically:YES];
voici mon code: NSMutableDictionary * nameDetails = [[NSMutableDictionary alloc] init]; [nameDetails setValue: nom d'utilisateur forKey: USERNAME_KEY]; \t [nameDetails setValue: mot de passe forKey: PASSWORD_KEY]; \t \t NSString * loginDetails = [[NSBundle mainBundle] pathForResource: @ "Login" deType: @ "plist"]; \t [nameDetails writeToFile: loginDetails atomiquement: YES]; \t savedStock = [NSMutableDictionary dictionaryWithContentsOfFile: loginDetails]; – nik