RestKit关系连接到特定核心数据对象而没有键映射

时间:2014-05-23 18:40:52

标签: ios core-data restkit relationship restkit-0.20

问题:

在我的应用程序中,用户需要先通过登录屏幕。一旦用户成功登录,我就存储对该用户的核心数据对象的引用。当这个用户注销并且另一个用户登录时,我的问题就出现了。我目前无法在同一设备上区分用户A数据和用户B数据。

对服务器的调用会在标头中传递用户的凭据,但返回时没有关于请求用户在映射期间使用的外键信息。我想把它设置为简单地让与用户的关系使用存储的引用。

这些关系往往是多对一(用户< --->>电子邮件)或多对多(用户<>>>会议)。

...
{
    heading: "My Email"
    body: "I didn't write much",
    ...
},
...

可能的解决方案:

  1. Most Desired Solution )在映射期间执行连接
    • 以某种方式将RKEntityMapping设置为自动建立传入对象与引用用户之间的关系
  2. 请求服务器返回userID
    • 然后,这将允许使用userID密钥
    • 进行关系映射
  3. 映射后手动设置关系
    • 使用getObjectsAtPath中的成功块:参数:成功:失败:连接用户和新接收的对象
  4. 非常感谢任何和所有反馈。谢谢。

1 个答案:

答案 0 :(得分:1)

  

(最需要的解决方案)在映射期间执行连接。以某种方式设置RKEntityMapping以自动建立传入对象与引用用户之间的关系连接

你的描述中没有任何东西可以触发这一点。 如果您用于发出请求的网址中包含用户身份,那么您可以使用该网址并路由metadata,否则您将无法运气。 (元数据的文档不是很好,请参阅this answer

  

请求服务器返回userID。然后,这将允许使用userID密钥

进行关系映射

是的,那会有用。

  

映射后手动设置关系。使用success中的getObjectsAtPath:parameters:success:failure:块连接用户和新接收的对象

是的,这也有效(虽然它会导致2次保存到数据存储,1次没有关系,然后是第二次保存)。