2013-10-03 105 views
0

我从我不控制的web服务导入JSON响应。此响应包含我映射到Show实体的元素,该实体具有相同JSON中的多个相关Artwork对象。MagicalRecord:修改相关对象的属性

我通过userinfo键建立关系,这很好。我的问题是,在JSON作品元素不包含一个唯一的ID:

{ 
     Filetype = jpg; 
     Id = "-1036406380"; 
     Offset = 2; 
     Rating = 1; 
     Type = 3; 
    } 

可能有相同的Id多个元素。这将导致MagicalRecord不识别这些元素,如果它们已经存储在CoreData中。

我的解决方案是在名为uniqueArtworkID的实体上引入一个新字段。该字段将由ID,偏移量和类型连接起来。

最后问题: 如何或在代码中的哪一点我可以创建uniqueArtworkID,以便MagicalRecord能够选择它作为Artwork实体的“主”键?

编辑: 我发现我可以覆盖我的NSManagedObject子类中的- (BOOL) MR_importValuesForKeysWithObject:(id)objectData来生成和设置唯一的ID。更近一步,但这并不能解决原始JSON数据不包含该唯一键并检查现有对象失败的问题,从而导致重复条目。

回答

1

通过删除MagicalRecord并直接使用Core Data API来解决。

相关问题