RestKit外键关系映射不起作用

时间:2015-05-25 14:23:04

标签: foreign-keys mapping restkit

我有一个User对象,其属性为followIds(NSArray - 可转换的核心数据类型),关系跟随很多

relationships description

然后在restkit中我有以下连接描述。

当我检查mappingResult对象时,设置了followingIds但是没有完成关系。 http响应为用户集合提供了两个用户对象;追随者和随后的人。

(lldb)po [mappingResult.array firstObject]

FindWindowEx

(lldb)po [mappingResult.array lastObject]

<AOUser: 0x7feea8ea5940> (entity: AOUser; id: 0xd000000000040000 <x-
coredata://E1732DA6-BAEB-4E6E-BC7D-F0944A2CD5B5/AOUser/p1> ; data: {
userId = 2;
follower = "<relationship fault: 0x7feeade18c80 'follower'>";
    followingIds = "(\n    35\n)";
    followings =     (
    );
}

编辑1:

FOLLOWING FOLLOWER

JSON

MApping Code

<AOUser: 0x7feeadc0bdf0> (entity: AOUser; id: 0xd0000000000c0000 <x-coredata://E1732DA6-BAEB-4E6E-BC7D-F0944A2CD5B5/AOUser/p3> ; data: {
follower = "<relationship fault: 0x7feeade1dae0 'follower'>";
followingIds = "(\n    4\n)";
followings =     (
    "0xd000000000140000 <x-coredata://E1732DA6-BAEB-4E6E-BC7D-F0944A2CD5B5/AOUser/p5>"
);
userId = 35;
}

1 个答案:

答案 0 :(得分:0)

问题似乎是因为followingIds被存储为字符串而不是数组:

followingIds = "(\n    35\n)";

大概是因为RestKit不能说你想把它当成一个数组,因为它只是可以转换的。

您需要更新代码,以便followingIds引用所有类型为NSArray,然后RestKit应该希望从JSON维护数据类型并匹配外部ID列表而不是单个(无效)ID。