NSManagedObjectContextObjectsDidChangeNotification
がデータ モデルへのすべての変更を取得するのをリッスンする必要があります。これは、次のようなコードを使用して実行できます。
[[NSNotificationCenter defaultCenter]
addObserver:self
selector:@selector(handleDataModelChange:)
name:NSManagedObjectContextObjectsDidChangeNotification
object:myManagedObjectContext];
-handleDataModelChange:
これは、コンテキストが変更されたときにトリガーされmyManagedObjectContext
ます。
:メソッド-handleModelDataChange
は次のようになります。
- (void)handleDataModelChange:(NSNotification *)note
{
NSSet *updatedObjects = [[note userInfo] objectForKey:NSUpdatedObjectsKey];
NSSet *deletedObjects = [[note userInfo] objectForKey:NSDeletedObjectsKey];
NSSet *insertedObjects = [[note userInfo] objectForKey:NSInsertedObjectsKey];
// Do something in response to this
}
ご覧のとおり、通知には、どの管理対象オブジェクトが更新、削除、および挿入されたかに関する情報が含まれています。その情報から、データ モデルの変更に応じて対応できるはずです。