Как перезагрузить файл plist в таблицу - PullRequest
0 голосов
/ 10 ноября 2011

У меня есть файл Plist (за пределами пакета), который я использую для хранения избранного пользователя. После загрузки он работает как положено, Plist загружается в таблицу.

Однако, когда вы добавляете новый элемент в Plist: файл plist (за пределами пакета) обновляется. Перезагрузка таблицы запускается, как показано в журнале. Однако данные фактически не перезагружаются из Plist, они просто используют существующие значения (Array). Если вы не выйдете и не перезагрузите все приложение, в этом случае обновленный Plist появится в таблице.

Как я могу сделать так, чтобы моя таблица действительно загружалась из обновленного Plist, а не просто используя исходный массив.

Спасибо.

Я использую этот код для получения данных из Plist - работает.

 NSMutableArray *rawFavArray = [[NSMutableArray alloc] initWithContentsOfFile:plistPath];

Я использую это для запуска массива для создания информации о ячейке для работы с таблицами.

 return [favReloadArray objectAtIndex:indexPath.row];

Я использую это для перезагрузки таблицы (в viewWillApear) - не работает, запускает журнал, но не перезагружает Plist.

 [self.tableView reloadData];

Когда я пытаюсь изменить данные в Plist - я могу это сделать, но любые изменения не отображаются в таблице, если я не выйду из приложения и не начну снова.

Ответы [ 2 ]

1 голос
/ 10 ноября 2011

Непосредственно перед вызовом reloadData у вас должно быть [favReloadArray release]; favReloadArray = [[NSMutableArray alloc] initWithContentsOfFile:plistPath];
или
favReloadArray = [NSMutableArray arrayWithContentsOfFile:plistPath];
в зависимости от того, каким образом вы впервые создаете favReloadArray.

0 голосов
/ 10 ноября 2011

myArray = [NSArray arrayWithContentsOfFile: myFilePath];

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...