NSManagedObject通知并保存:

时间:2013-07-01 21:24:16

标签: core-data nsmanagedobjectcontext nsnotification

我正在使用核心数据来保存我的数据模型,这非常简单,这样的三个实体:A< - >>>>> C.当我的模型发生变化时,我需要执行一些活动。为此,我正在使用viewDidLoad中的以下代码来侦听NSManagedObjectContextObjectsDidChangeNotification:

[[NSNotificationCenter defaultCenter] 
               addObserver:self 
                  selector:@selector(updateReminder:)
                      name:NSManagedObjectContextObjectsDidChangeNotification 
               object:self.managedObjectContext];

在方法updateReminder中,我做了所需的事情。 问题是,当通知执行时,更改不会持久存在。如果创建的新实体未保存,如果更改了某些内容,则不会保存更改。 有什么想法吗?

编辑: updateReminder的代码如下:

- (void)updateReminder:(NSNotification *)notification
{
    A *entityAUpdated = [[notification userInfo] objectForKey:NSUpdatedObjectsKey];
    if (entityAUpdated) {
       ...Do something when entityA is updated.
    }
    A *entityADeleted = [[notification userInfo] objectForKey:NSDeletedObjectsKey];
    if (entityADeleted) {
       ...Do something when entityA is Deleted.
    }
    A *entityAInserted = [[notification userInfo] objectForKey:NSInsertedObjectsKey];
    if (entityAInserted) {
     ...Do something when entityA is Inserted
    }

}

0 个答案:

没有答案