2010-04-22 3 views
0

У меня возникли проблемы с пониманием coredata с моим uitableview. У меня есть строки, которые удаляются и добавляются все в порядке .. и отображает их. Однако, когда я затем запускаю запрос по количеству элементов в базе данных, он возвращает число до того, как я сделал вызов удаления.count количество строк в iphone coredata

Итак, у меня есть три ряда. Я удаляю два из них. Я ожидаю, что мой код вернет 1 (1 строка слева), но вернет 3. Нужно ли мне обновлять набор записей или что-то еще? т.е.: удаление сделано, но не совершено или что-то еще?

Вот код, который я использую для запроса количества строк ... (и причина, по которой мне это нужно, - это запустить операции с uitableview ... поэтому количество строк в таблице должно соответствовать числу, возвращаемому из моего функция)

NSInteger numberofRows = 0; 
NSInteger section = 0; 

id <NSFetchedResultsSectionInfo> sectionInfo = [[fetchedResultsController sections] objectAtIndex:section]; 
numberofRows = [sectionInfo numberOfObjects]; 

NSLog(@"total rows=%i",numberofRows); 

Так что мой метод заключается в

  1. есть 3 строки в UITableView и дб
  2. удалить выбранные строки (например, 2)
  3. перезарядки просмотр таблицы (показывает один оставшийся ряд)
  4. подсчет числа строк в БД (возвращает 3)

мне нужно обновить соединение или что-то делать ?? благодарит за любую помощь!

ответ

1

В зависимости от того, как строки были удалены, может потребоваться вызвать метод NSManagedObjectContext save:. Это приведет к любым несохраненным изменениям в хранилище.

+0

использовал версию этой идеи, которая сработала - спасибо! –

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