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;
}