CoreDataTableViewController追加情報で編集: cs193pに基づくアプリを使用しています。というエンティティのインスタンスを削除するとPosition、prepareForDeletionすぐに呼び出されます。しかし、を呼び出すsaveToURLとき、またはデータベースが自動保存されているときに、prepareForDeletionが再度呼び出されます。
これはあるべき姿ですか?防げますか?
それはおそらくあるべき姿です。UIManagedDocument は 2 つの ManagedObjectContext を使用します。子コンテキスト (document.managedObjectContext) が保存されると、その親コンテキストが保存されます。親コンテキスト内のオブジェクトは、親がprepareForDeletion永続ストアに保存されるとすぐに呼び出されます。
a を設定しBOOL isDeleting、プロセスが既に実行されているかどうかを確認します。
- (void) prepareForDeletion
{
if ( isDeleting )
return;
/* handle the rest of the deleting process */
isDeleting = YES;
if ( /* the process has finished deleting */ )
isDeleting = NO;
}