如何将带有 MagicalRecord 的数组属性导入 CoreData
How to import array attribute with MagicalRecord into CoreData
我正在导入 json,其中对象具有许多数组属性,例如图像:
"images": [
"model1.jpg",
"model2.jpg"
],
"models": []
"one model",
"another model",
"third model"
]
目前我正在做:
[ExampleObject MR_importFromArray:objectArrayFromJson];
但是这些数组破坏了这个自动导入,因为它不能自动将 NSArray 适配到 NSData(在 Xcode 中设置模型时的二进制文件)。
是否可以修改模型 class 文件(如自定义 setters/getters)以便 MagicalRecord 可以导入我的数组并将其存储在实体的属性中,当我检索它时我得到一个return?
中的 NSArray
经过一些研究我自己解决了这个问题,我想把它分享给可能遇到同样问题的人。
我的问题是我想将 NSArray 保存到 NSData 类型的实体属性中。为了能够使用 MagicalRecord 执行此操作,我需要在我的 NSManagedObject m 文件中实现一个方法,如下所示:
- (BOOL) importImages: (id) array {
NSData *imagesData = [NSKeyedArchiver archivedDataWithRootObject:array];
self.images = imagesData;
return YES;
}
所以 import<;attribute-name without ;> 必须调用方法。
编辑:
根据 this page 你 return YES 如果你的代码处理数据。 Return 如果您希望 MagicalImport 继续处理属性并使用默认导入例程,则否。
我正在导入 json,其中对象具有许多数组属性,例如图像:
"images": [
"model1.jpg",
"model2.jpg"
],
"models": []
"one model",
"another model",
"third model"
]
目前我正在做:
[ExampleObject MR_importFromArray:objectArrayFromJson];
但是这些数组破坏了这个自动导入,因为它不能自动将 NSArray 适配到 NSData(在 Xcode 中设置模型时的二进制文件)。
是否可以修改模型 class 文件(如自定义 setters/getters)以便 MagicalRecord 可以导入我的数组并将其存储在实体的属性中,当我检索它时我得到一个return?
中的 NSArray经过一些研究我自己解决了这个问题,我想把它分享给可能遇到同样问题的人。
我的问题是我想将 NSArray 保存到 NSData 类型的实体属性中。为了能够使用 MagicalRecord 执行此操作,我需要在我的 NSManagedObject m 文件中实现一个方法,如下所示:
- (BOOL) importImages: (id) array {
NSData *imagesData = [NSKeyedArchiver archivedDataWithRootObject:array];
self.images = imagesData;
return YES;
}
所以 import<;attribute-name without ;> 必须调用方法。
编辑: 根据 this page 你 return YES 如果你的代码处理数据。 Return 如果您希望 MagicalImport 继续处理属性并使用默认导入例程,则否。