Я использую CoreData в приложении для iOS, чтобы сохранить простой список объектов местоположения (имя, координаты).Я дважды сталкивался с ситуацией, после предупреждения памяти, когда записи CoreData кажутся поврежденными.
В частности (в tableView: numberOfRowsInSection:)
NSUInteger numObjects = [[[fetchedResultsController sections] objectAtIndex:section] numberOfObjects];
возвращает 4для раздела == 0.
Затем (в tableView: cellForRowAtIndexPath:)
aLocation = [fetchedResultsController objectAtIndexPath:indexPath];
для indexPath [0,3] генерируется исключение:
NSRangeException: * - [_ PFArray objectAtIndex:]: index (3) за пределами (3)
т.е. CoreData говорит, что в таблице 4 строки, но затем не может вернуть объект для последней строкикогда табличное представление запрашивает это.
Два вопроса:
1) Любые мысли о том, как это может возникнуть и как предотвратить это
2) Как только это произошло,Есть ли способ исправить проблему данных в коде?
Спасибо
Стивен