【问题标题】:How to import array attribute with MagicalRecord into CoreData如何使用 MagicalRecord 将数组属性导入 CoreData
【发布时间】:2015-06-19 09:05:01
【问题描述】:

我正在导入一个 json,其中对象具有许多数组属性,例如图像:

"images": [
    "model1.jpg",
    "model2.jpg"
],
"models": []
    "one model",
    "another model",
    "third model"
]

目前我只是这样做:

[ExampleObject MR_importFromArray:objectArrayFromJson];

但是这些数组会破坏这种自动导入,因为它不能自动将 NSArray 拟合到 NSData(在 Xcode 中设置模型时的二进制文件)。

是否可以修改模型类文件(如自定义设置器/获取器),以便 MagicalRecord 可以导入我的数组并将其存储在实体属性中,当我检索它时,我会得到一个 NSArray 作为回报?

【问题讨论】:

    标签: ios json magicalrecord


    【解决方案1】:

    经过一些研究,我自己解决了这个问题,我想把它分享给可能遇到同样问题的人。

    我的问题是我想将 NSArray 保存到 NSData 类型的实体属性中。为了能够使用 MagicalRecord 执行此操作,我需要在我的 NSManagedObject m 文件中实现一个方法,如下所示:

    - (BOOL) importImages: (id) array {
        NSData *imagesData = [NSKeyedArchiver archivedDataWithRootObject:array];
        self.images = imagesData;
        return YES;
    }
    

    所以 import 必须调用该方法。

    编辑: 根据this page,如果您的代码处理数据,则返回 YES。如果您希望 MagicalImport 继续处理属性并使用默认导入例程,则返回 NO。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多