ios – 跟踪NSManagedObject的属性更改

ios – 跟踪NSManagedObject的属性更改,第1张

概述我正在寻找一种方法来跟踪NSManagedObject的属性更改. 目前我使用NSNotifactionCenter来查看我的managedobjectcontext的更改: [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleDataModelChange:) name:NSManaged 我正在寻找一种方法来跟踪NSManagedobject的属性更改.

目前我使用NSNotifactionCenter来查看我的managedobjectcontext的更改:

[[NSNotificationCenter defaultCenter] addobserver:self selector:@selector(handleDataModelChange:) name:NSManagedobjectContextObjectsDIDChangeNotification object:self.managedobjectContext];

它会触发handleDataModelChange Methode,如下所示:

- (voID)handleDataModelChange:(NSNotification *)note{    NSSet *updatedobjects = [[note userInfo] objectForKey:NSUpdatedobjectsKey];    if (updatedobjects.count > 0) {        for (NSManagedobject *obj in updatedobjects.allObjects) {            NSLog(@"Object updated: %@ with values:",obj.entity.name);            NSDictionary *theAttributes = [self getAllAttributesOf:obj];            for (Nsstring *attributename in theAttributes) {                NSLog(@"name: %@ : %@",attributename,[obj valueForKey:attributename]);            }        }    }}

如果对象发生更改,则会记录该对象的新属性.如何获得获取旧属性值的方法?

解决方法 从 NSManagedObject Class Reference:

changedValues

返回一个字典,其中包含自上次获取或保存接收器以来已更改的持久属性的键和(新)值.

changedValuesForCurrentEvent

返回一个字典,其中包含自上次发布NSManagedobjectContextObjectsDIDChangeNotification以来已更改的持久属性的键和旧值.

总结

以上是内存溢出为你收集整理的ios – 跟踪NSManagedObject的属性更改全部内容,希望文章能够帮你解决ios – 跟踪NSManagedObject的属性更改所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1065281.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存