Не в состоянии написать в Плист - PullRequest
1 голос
/ 25 февраля 2011

У меня очень простой вопрос о том, как написать в лист рассылки.Я добавил файл Here.plist в свою папку ресурсов.Ниже приведен мой код:

NSString *path = [[NSBundle mainBundle]pathForResource:@"Here" ofType:@"plist"];

NSArray *array = [[NSArray alloc]initWithObjects:@"First", @"Second", @"Third", nil];

[array writeToFile:path atomically:YES];

"Here.plist" по-прежнему пуст после выполнения кода.Я даже попытался использовать NSDictionary следующим образом:

NSDictionary *dict = [[NSDictionary alloc]initWithObjectsAndKeys:@"firstValue", @"First", @"secondValue", @"Second", @"thirdValue", @"Third", nil];

[dict writeToFile:path atomically:YES];

Я прошел много уроков и форумов, но это просто не работает для меня.Что я делаю неправильно?Я теряю голову над этим.

Ответы [ 2 ]

7 голосов
/ 25 февраля 2011

Вы не можете написать в связке.Попробуйте написать в каталог документов.Например:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSArray *array = [[NSArray alloc]initWithObjects:@"First", @"Second", @"Third", nil];
[array writeToFile:[documentsDirectory stringByAppendingPathComponent:@"Here.plist" atomically:YES];
2 голосов
/ 25 февраля 2011

Я подозреваю, что ваша проблема связана с тем, что вы не можете писать в пакет приложения, только в хранилище документов вашего приложения.

Чтобы получить путь к хранилищу документов, используйте:

NSArray *searchPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *docStorePath = [searchPaths objectAtIndex:0];

NSString *filePath = [docStorePath stringByAppendingPathComponent:@"XXXXX"];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...