我正在导入一个json,其中对象有许多数组属性,如images:
"images": [
"model1.jpg",
"model2.jpg"
],
"models": []
"one model",
"another model",
"third model"
]
目前我只是这样做:
[ExampleObject MR_importFromArray:objectArrayFromJson];
但这些数组会破坏此自动导入,因为它无法自动将NSArray适合NSData(在Xcode中设置模型时的二进制文件)。
是否有修改Model类文件(如自定义setter / getters)所以MagicalRecord可以导入我的数组并将其存储在entitys的属性中,当我检索它时,我得到一个NSArray作为回报?
答案 0 :(得分:1)
经过一番研究后,我自己解决了这个问题,并希望与那些可能遇到同样问题的人分享。
我的问题是我想将NSArray保存到NSData类型的实体属性中。为了能够使用MagicalRecord执行此操作,我需要在我的NSManagedObject m文件中实现一个方法,如下所示:
- (BOOL) importImages: (id) array {
NSData *imagesData = [NSKeyedArchiver archivedDataWithRootObject:array];
self.images = imagesData;
return YES;
}
所以import&lt ;; attribute-name without;>必须调用该方法。
编辑: 根据{{3}},如果您的代码处理数据,则返回YES。如果希望MagicalImport继续处理属性并使用默认导入例程,则返回NO。