2016-09-17 3 views
0

Я пытаюсь добавить данные в PLIST, но я не мог, давайте сказать вам, что я делаю:Сохранение данных в PLIST с прошивкой

Посмотрите на мой PLIST:

enter image description here

Давайте посмотрим, мой код, я создал 2 массива:

@property NSMutableArray *nameArr; 
@property NSMutableArray *countryArr; 

Вот код, где я сохраняю данные:

NSArray *paths = NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *documentsPath = [paths objectAtIndex:0]; 
    NSString *plistPath = [documentsPath stringByAppendingPathComponent:@"Data.plist"]; 

[self.nameArr addObject:self.theName.text]; 
[self.countryArr addObject:self.cellPhone.text]; 

NSDictionary *plistDict = [[NSDictionary alloc] initWithObjects: [NSArray arrayWithObjects: self.nameArr, self.countryArr, nil] forKeys:[NSArray arrayWithObjects: @"city", @"state", nil]]; 

NSString *error = nil; 
NSData *plistData = [NSPropertyListSerialization dataFromPropertyList:plistDict format:NSPropertyListXMLFormat_v1_0 errorDescription:&error]; 

if(plistData) 
{ 
    [plistData writeToFile:plistPath atomically:YES]; 
    NSLog(@"Data Saved"); 

} 
else 
{ 
    NSLog(@"Data not saved"); 

} 

На рисунке ниже показана ошибка, приложение завершается, но я не знаю, где проблема.

enter image description here

+0

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

+1

Вы скопировали и вставляете этот код откуда-нибудь или знаете, что происходит? –

+0

Я скопировал и изменил некоторые, я не хорошо с plist. В то же время я могу получить данные из одного и того же plist в tableview –

ответ

1

Возможно свойства массива объявлены, но никогда не инициализируется.

Вы должны добавить

nameArr = [[NSMutableArray alloc] init]; 
countryArr = [[NSMutableArray alloc] init]; 

где-то перед их использованием.

В отношении предупреждения используйте метод, предложенный компилятором.

Смежные вопросы