У меня есть файл plist в моем приложении, который в виде таблицы загружает его объект. Мне нужно сохранить строку, когда пользователь набирает текст в textfield
и нажимает кнопку сохранения, вот мой код, журнал показывает мне правильную строку, но таблица не перезагружается, а plist ничего не добавляет!Проблема с добавлением строки в файл plist
NSString *rootPath=[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *plistPath=[rootPath stringByAppendingPathComponent:@"users.plist"];
NSMutableDictionary *plist_dict=[[NSMutableDictionary alloc]initWithContentsOfFile:plistPath];
if(plist_dict==nil)
{
plist_dict =[[NSMutableDictionary alloc]init];
}
[plist_dict setObject:_username.text forKey:@"username"];
[plist_dict writeToFile:plistPath atomically:YES];
[_tableView reloadData];
А вот мой файл по умолчанию PLIST:
<plist version="1.0">
<dict>
<key>username</key>
<array>
<string>Instagram</string>
</array>
</dict>
</plist>
Проверьте и сообщите возвращаемое значение из '[NSArray writeToFile: atomically:]', чтобы узнать, является ли это проблемой. – trojanfoe
@trojanfoe Вы проверили бы мой отредактированный Q? –
Я думаю, что код раньше был в порядке; запись plist как массив в порядке. Однако вы должны проверить, что 'writeToFile:' возвращает и записывает запись журнала в случае сбоя, чтобы сузить место, откуда возникла ошибка. – trojanfoe