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

Is it possible to `marshal` data into a Realm object?

我有以下 JSON 来自 API:

{
    "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。 id 保留在 Objective-C 中,因此确实需要更改,其他两个只是装饰性的,但我假设 id 的解决方案也可以应用于其他两个。

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

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

我想在将数据传递给 initWithObject 之前编写一个编组方法来调用。然而,当 Realm 对象相互嵌套而不涉及更多时,这是行不通的。如果没有通用的解决方案,我会这样做。

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