как написать NSMutableDictionary в Plist - PullRequest
3 голосов
/ 21 октября 2010

Может ли кто-нибудь помочь мне с этим, как записать NSMutableDictionary в plist ....

заранее спасибо ..

Ответы [ 5 ]

6 голосов
/ 21 октября 2010

Убедитесь, что файл pList, в который вы пишете, находится в допустимом месте для его редактирования, например, документы в изолированной программной среде приложения. Затем найдите путь к этому местоположению (если существует файл pList, он будет перезаписан) и используйте:

[myDictionary writeToFile:path atomically:YES];

Напишите, как далеко вы находитесь в процессе, и, возможно, какой-нибудь код / ​​сообщение об ошибке ...

4 голосов
/ 21 октября 2010
[yourDict writeToFile:filePath atomically:YES];

Обратите внимание, что словарь должен содержать объекты plist (экземпляры NSData, NSDate, NSNumber, NSString, NSArray или NSDictionary).И ключи словаря должны быть NSString объектов

2 голосов
/ 08 декабря 2010

Проблема в том, что ваше приложение пытается записать plist в свой собственный пакет.Ваш список должен храниться в библиотеке пользователя.Однако, если вы храните учетные данные пользователя для службы, вам действительно следует использовать службы цепочки ключей Mac OS X для хранения этой информации.

1 голос
/ 04 декабря 2013
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];
  • Мы регистрируем путь к консоли, чтобы найти его в Finder.Скопируйте путь из консоли в буфер обмена.Затем в Finder выберите «Перейти к папке ...» из меню «Перейти».Вставьте путь в диалоговое окно и откроется папка, в которой находится plist.Затем вы можете проверить это и убедиться, что все работает как надо.
1 голос
/ 22 октября 2010
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];
...