【问题标题】:RestKit relationship connection to specific core data object without key mappingRestKit 与特定核心数据对象的关系连接,无需键映射
【发布时间】:2014-05-23 18:40:52
【问题描述】:

问题:

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

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

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

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

可能的解决方案:

  1. (Most Desired Solution) 在映射过程中执行连接
    • 以某种方式将 RKEntityMapping 设置为自动在传入对象和引用的用户之间建立关系连接
  2. 请求服务器返回用户ID
    • 这将允许使用 userID 键进行关系映射
  3. 映射后手动设置关系
    • 使用 getObjectsAtPath:parameters:success:failure: 中的成功块连接用户和新收到的对象

非常感谢任何和所有反馈。谢谢。

【问题讨论】:

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


    【解决方案1】:

    (最需要的解决方案)在映射期间执行连接。不知何故将RKEntityMapping设置为自动建立传入对象和引用用户之间的关系连接

    从你的描述中你真的没有什么可以触发这个。 如果您用来发出请求的 URL 中包含用户身份,那么您可以使用该 URL 并路由 metadata,否则您在这方面不走运。 (元数据的文档不是很好,请参阅this answer

    请求服务器返回userID。这将允许使用 userID 键发生关系映射

    是的,那会起作用。

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

    是的,这也会起作用(尽管它会导致 2 次保存到数据存储,1 次没有关系,然后再建立它们)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-23
      • 1970-01-01
      • 1970-01-01
      • 2014-09-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多