【问题标题】:Better Approach for Creating Temp Object for Core Data with Restkit使用 Restkit 为核心数据创建临时对象的更好方法
【发布时间】:2012-06-29 08:22:50
【问题描述】:

在我的应用程序中,我有这种情况,我需要将对象发布到远程服务器并获取对象密钥,然后将对象存储在本地。我在我的应用中实现了核心数据和 Restkit。

对象值是从用户输入中收集的。在将对象发布到远程服务器之前,我想不出一个好方法来准备对象。此对象是 NSManagedObject 类型的实体,我不想在从服务器获取对象 id 之前存储它。

我遇到了this,它建议使用瞬态对象来处理这种情况。但正如该线程中所讨论的,这会导致代码维护问题。

有没有更好的方法来处理这种情况?谢谢。

【问题讨论】:

    标签: objective-c cocoa core-data restkit


    【解决方案1】:

    让您的核心数据模型类遵守 RKRequestSerializable 协议。

    然后,当用户输入被验证时,像平常一样创建一个实体并将其设置为 RKRequest 的参数值,这会将您的对象作为 HTTP 正文发送。查看 RKParams.m 中的示例。

    还将新创建的实体设置为 RKObjectLoader 的 targetObject。这样,当您的 Web 服务返回信息(如新的唯一 ID)时,它将以新对象为目标并将新的唯一 ID 保存到该对象,而不会创建副本。

    清如泥?

    PS:哦,小心混合自动生成的核心数据类和自定义代码!我推荐mogen 以帮助您在每次进行更改时不会丢失代码。

    【讨论】:

    • 我相信 RestKit 0.20 现在应该通过创建 RKEntityMapping 并将参数“identificationAttributes”设置为本地存储的(远程)标识参数来自动处理
    猜你喜欢
    • 1970-01-01
    • 2014-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多