iOSアプリケーションでCoreDataを使用して、ロケーションオブジェクト(名前、座標)の単純なリストを保存しています。 CoreDataレコードが破損しているように見えるメモリ警告の後、私は今度は2回状況に遭遇しました。CoreData:セクション内のnumberOfObjectsが正しくありません
具体的には、(のtableViewで:numberOfRowsInSection :)のtableViewに続い部== 0
ため
NSUInteger numObjects = [[[fetchedResultsController sections] objectAtIndex:section] numberOfObjects];
戻り4(::) cellForRowAtIndexPath
aLocation = [fetchedResultsController objectAtIndexPath:indexPath];
indexPathします[ 0,3]例外を生成します。
NSRangeException:* - [_ PFArray objectAtIndex:]:境界を越えたインデックス(3)
つまり、CoreDataにはテーブルに4つの行がありますが、テーブルビューのリクエスト時には最後の行のオブジェクトを返すことはできませんそれ。
つの質問:これが発生する可能性があり、どのようにそれ
2)それが発生した後は、コード内のデータの問題を解決するための任意の手段があるのを防ぐためにどのように
1)任意の考え?
おかげ
スティーブン
こんにちはHarald - あなたは正しいかもしれませんが、処理されない例外の後にアプリケーションを再起動した後でのみ破損が明らかになりました。面白いことに、質問を投稿した後、セクション内のnumberOfObjectsの相違は、次のようになりました。 NSManagedObjectContextで保存を行った後に修正されました。 – StephenT