我正在尝试使用KVO Observers实现dateModified更新,如下所示
https://github.com/dvidsilva/everpobre/blob/master/coreData/DVDNoteModel.m
但问题是,当RESTKit从服务器获取数据并将其本地存储在CoreData中时,也会调用它,这是我不想要的。
我需要避免仅针对RESTKit调用触发KVO观察者,因此当RESTKit从服务器获取数据时,它不能使用dataModified更新。
此外我发现RESTKit调用是从[RKResponseMapperOperation main]启动的,因此使用[NSThread callStackSymbols]虽然我能够成功跟踪并执行它,但此解决方案仅适用于Build版本(安装在设备上)但是for release version [NSThread callStackSymbols]没有返回相同的符号,使RESTKit调用未跟踪。
我无法跟踪当前的通话是RESTKit还是我自己的。
Is there a way to track if current Thread call is from RESTKit?
or
Is there a way we could track it using RESTKit NSManagedObjectContext or so?
or any other possible solution?
如果您有任何可能的提示,请回答。
感谢。
答案 0 :(得分:0)
您可以使用RKEntityMapping
的{{1}}来完成此操作。但是有一些要求:
如果你有这两个,RestKit将检查目标对象的modificationKey是否与JSON匹配。如果不进行修改,则不会触发KVO。