MagicalRecord 密钥路径

Posted

技术标签:

【中文标题】MagicalRecord 密钥路径【英文标题】:MagicalRecord keypath 【发布时间】:2014-01-14 18:15:09 【问题描述】:

我正在使用magicrecord,并将我的属性映射到json details.slots

我的 JSON 看起来像这样

"details": 
    "startTimestamp": "2014-01-13",
    "endTimestamp": "2014-01-16",
    "employeeId" : 176,
    "slots": [
    
        "numberOfAppointments": 0,
        "numberOfSpots": 1,
        "isReserved": 0,
        "startTimestamp": "2014-01-13 08:00:00",
        "endTimestamp": "2014-01-13 08:05:00"
    ,
    
        "numberOfAppointments": 0,
        "numberOfSpots": 1,
        "isReserved": 0,
        "startTimestamp": "2014-01-13 08:05:00",
        "endTimestamp": "2014-01-13 08:10:00"
    ,
    
        "numberOfAppointments": 0,
        "numberOfSpots": 1,
        "isReserved": 0,
        "startTimestamp": "2014-01-13 08:10:00",
        "endTimestamp": "2014-01-13 08:15:00"
    ,
    ....

我想知道是否有一种简单的方法可以将字段映射到更高级别的字段? IE 我可以使用my.object.property 向下钻取,但是如果我的导入正在导入slots 数组以轻松将employeeId 添加到每个对象,是否仍然存在?插槽可以少至 600 条记录,多至几千条。

我能想到的唯一解决方案是遍历每个插槽并在运行神奇的记录导入之前手动添加它。 有人熟悉另一种更简单的方法来完成这项工作吗?

【问题讨论】:

【参考方案1】:

使用当前框架实现此目的的一种方法是实现该方法

- (BOOL) importDetails:(id)data;

在您的实体中。 MagicalRecord 导入将查找此方法并根据您的核心数据属性名称调用它(如果已实现)。这意味着您基本上是在重写整个数组的导入代码,但您可以访问您所追求的数据。不理想,但仍有可能。

【讨论】:

以上是关于MagicalRecord 密钥路径的主要内容,如果未能解决你的问题,请参考以下文章

Magical Record、多种配置和 Restkit

AFNetworking 的 Magical Record 导入问题

尝试将 Magical Record 与 Kiwi 一起使用时构建测试时出错

使用 Magical Record 在 NSDictionary 中导入数组

Magical Record - 丢失我的实体信息

Magical Record - 设置时崩溃