Я загружаю plist в NSArry, фильтрую этот массив, чтобы захватить нужные мне данные, а затем представить данные в UITableView. Это отлично работает.Запись фильтрованного NSArray обратно в plist
EDIT:
Я работаю с массивом словарей. Plist заполнен массивом словарей.
Это то, что я делаю:
NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"/data.plist"];
//array is filled with dictionaries
array = [NSMutableArray arrayWithContentsOfFile:filePath];
//filter the array to catch appropriate data (there are maybe 10 objects):
self.arrayFiltered = [NSMutableArray arrayWithCapacity:[array count]];
NSDictionary *dict;
for (dict in array)
if ([[dict valueForKey:@"globalKey"] isEqualToNumber:[NSNumber numberWithInt:year]])
[arrayFiltrirani addObject:dict];
Теперь я заполняю Tableview с данными из arrayFiltered. Теперь я хочу удалить строку из tableView и arrayFiltered.
[self.arrayFiltrirani removeObjectAtIndex:indexPath.row];
НО НО !!! Как обновить исходный массив и сохранить его на plist?
Что вы намеренное предпринять? Код, который вы предоставили, делает именно то, что вы говорите. Он принимает массив и превращает его в .plist. Вы хотите сохранить существующее содержимое файла, а также новое содержимое файла? Это то, что NSDictionary будет лучше подходит. – Justin
Когда я сохраняю свой фильтрованный массив на plist, все предыдущие данные получают overriten, и теперь в plist есть только данные из массиваFiltered. – maxus182
ok Я отвечу на это ниже ... – Justin