我可以在运行时在Realm中创建动态类吗?

时间:2018-06-14 05:18:13

标签: ios realm

我想从服务器创建一个基于JSON的运行时类。我可以在运行时创建一个Realm子类,将数据存储在Realm的表中吗?

1 个答案:

答案 0 :(得分:2)

嗯,我不确定Swift或Objective-C。但是我有一个针对Java(Android)的解决方案。您需要使用DynamicRealmObjectRealmObjectSchema作为相同的内容。

例如,

    DynamicRealm dynamicRealm = DynamicRealm.getInstance(App.getConfiguration());
    dynamicRealm.beginTransaction();
    DynamicRealmObject dyEvent = dynamicRealm.createObject("Event");
    RealmObjectSchema eventSchama = dynamicRealm.getSchema().get("Event");
    if (!eventSchama.hasField("content")) {
        DebugLog.i("eventSchama.has not Field content");
        eventSchama.addField("content", String.class);
    } else {
        DebugLog.i("eventSchama.hasField content");
    }
    RealmResults<DynamicRealmObject> dyEventResult = dynamicRealm.allObjects("Event");
    DebugLog.i("dyEventResult.size:" + dyEventResult.size());
    dyEvent.setString("name", "testName_" + dyEventResult.size());
    dyEvent.setString("content", "testContent_" + dyEventResult.size());

    dynamicRealm.commitTransaction();

以上示例适用于Android,但我相信您也可以获得Swift或Objective-C的相同参考。

请查看this conversation相同内容。