是否有可能将数据“编组”到Realm对象中?

时间:2015-03-02 22:19:03

标签: ios objective-c cocoa-touch realm

我有来自API的以下JSON:

{
    "id": "7",
    "first_name": "Foo",
    "last_name": "Bar"
}

我希望我的Realm对象看起来像这样(objective-c):

@interface RWUser : RLMObject

@property int key;
@property NSString *firstName;
@property NSString *lastName;

@end

关键是属性名称略有不同,以更好地适应目标环境Objective-C。在Objective-C中保留id以便真正需要改变,其他两个只是化妆,但我假设id的解决方案也可以应用于其他两个。

我们假设我无法更改API输出的内容。

我已经尝试覆盖- (instancetype) initWithObject:(id)object;,但我没有被调用,执行会直接跳转到RLMObject版本。

在将数据传递给initWithObject之前,我考虑过编写一个编组方法来调用。但是,当将Realm对象嵌套在另一个内部而不会更多地涉及时,这不起作用。如果没有通用的解决方案,我会这样做。

1 个答案:

答案 0 :(得分:1)

当模型具有与JSON键不同的属性时,无法立即导入。我们仍在努力支持这一点。您最好的选择是使用RealmJSONMantle或任何其他映射库来导入正确的密钥