CoreData iPhone:/Nasıl bir alt çizgeler içinde tüm değişiklikleri fark edebilirim?
Hangi NSManagedObjects bazıları için kap gibi alt sınıfları bir dizi var bir NSManagedObjectContext var. Yapmak istediğim şey tüm özelliklerini, dernekler, ya da içerdiği nesnelerin özelliklerini/derneklerin herhangi bir değişiklik haberdar olmak için üst düzey bir nesne izlemek.
Bu bağlamda 'hasChanges' bana yeterince vermiyor ayrıntı. Nesnelerin' yöntemi, sadece belirli bir nesne (ve onun topluluğunun bir şey değil) için geçerlidir. isUpdated Bir alt çizgeler için sınırlı bir kapsamda değişiklik gözlemleyebilirim oldu uygun bir (belki de, KVO tabanlı) var mı?
CEVAP
NSManagedObjectContextObjectsDidChangeNotification
için veri modeli için tüm değişiklikleri almak dinlemek isteyeceksiniz. Bu işlem aşağıdaki gibi bir kod kullanarak
[[NSNotificationCenter defaultCenter]
addObserver:self
selector:@selector(handleDataModelChange:)
name:NSManagedObjectContextObjectsDidChangeNotification
object:myManagedObjectContext];
myManagedObjectContext
içerik için herhangi bir değişiklik üzerinde -handleDataModelChange:
tetikleyecek.
-handleModelDataChange
: yöntem bu gibi bir şey olacaktır
- (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
}
Gördüğünüz gibi, bildirim yönetilen nesneleri güncellenen, silinen ve eklenen bilgiler içerir. Bilgi, veri modeli değişiklikleri yanıt olarak hareket etmek gerekir.
Nasıl iPhone gibi HTML metin giriş kut...
Nasıl kendi benim ana uygulama içinde ...
Nasıl nakavt'/$root içinde bir ps...
Nasıl bir iPhone simülatörü kamera tes...
Nasıl bir bash betiği içinde düzenli i...