Core data 如果NSManagedObject的映射正在使用identificationAttributes,则NSFetchedResultsController不会更新
如果nsmanagedobject的映射包含IdentificationAttribute,并且仅从JSON更新此对象的属性值,是否有人可以确认我的经验,即NSFetchedResultsController没有执行抓取 Restkit的另一个问题是“identificationAttributes”特性的行为。如果Restkit要将json数据映射到这样一个(唯一的)核心数据对象,那么它会查看是否已经存在这个nsmanagedobject的实例。但似乎正在全局搜索此实例,也就是说,存储中只能有一个具有此特定标识属性的特定nsmanagedobject实例。我希望不是每个商店都有一个实例,而是每个所有者都有一个实例(与此nsmanagedobject的父级所有者关系) 因此,我希望这个结构(id是标识属性值): OwnerA/OwnerB和Owned是NSManagedObject的子类。所有映射都为所有类使用identificationAttributes以保持其唯一性 答复如下: OwnerA:Core data 如果NSManagedObject的映射正在使用identificationAttributes,则NSFetchedResultsController不会更新,core-data,restkit,nsfetchedresultscontroller,restkit-0.20,Core Data,Restkit,Nsfetchedresultscontroller,Restkit 0.20,如果nsmanagedobject的映射包含IdentificationAttribute,并且仅从JSON更新此对象的属性值,是否有人可以确认我的经验,即NSFetchedResultsController没有执行抓取 Restkit的另一个问题是“identificationAttributes”特性的行为。如果Restkit要将json数据映射到这样一个(唯一的)核心数据对象,那么它会查看是否已经存在这个nsmanagedobject的实例。但似乎正在全局搜索此实例,也就是说,存储中只能有
感谢您的评论。是的,标识是上下文的全局标识(因此数据存储),而不是基于每个“所有者”(关系)(您无法指定所有者可能是什么) 如果您想与某个所有者一起管理事务,可以使用JSON中的嵌套来定义唯一所有者及其关系内容 还要注意,您可以有多个标识属性(但同一实体的每个映射上的标识属性列表必须相同,否则会发生奇怪的事情)。因此,您可以通过将所有者标识复制到其他对象并在标识列表中使用该属性来模拟所有者标识。您需要将标识复制到另一个对象,无法通过关系引用它
标识属性与FRC及其观察内容完全无关。我不是100%清楚您看到了什么,但它必须与/和/或关系内容或您不期望的新对象的创建有关。谢谢您的评论。“(你没有办法具体说明所有者可能是什么)“反向关系呢?我认为这确实限制了障碍。”。是的,据我所知,该工具包可用于解决一些常见的问题。但是将这个“identificationAttributes”特性仅仅暴露在全球范围内确实令人困惑。我从使用Restkit的第一刻起就已经测试过了,但我仍然希望通过使用访问器来调整映射,而不需要任何Restkit技巧。文档中甚至没有提到此功能的范围。使用此功能会改变映射数据的结构,这是不好的。我的意思是,您无法告诉RestKit对象的所有者。您将告诉它关于多个不同的实体类型和相关的标识属性。。。如果将其称为唯一标识属性会更好,因为它用于全局唯一标识。