gpt4 book ai didi

ios - 在 Realm 中存储具体的泛型子类

转载 作者:搜寻专家 更新时间:2023-10-31 19:37:43 25 4
gpt4 key购买 nike

是否可以在 Realm 中存储一个具体的泛型子类?

例如:

class MyClass<T> : Object{}

class ConcreteMyClass : MyClass<String> {}

我知道在 Realm 中不可能存储 MyClass。但是,是否有可能以某种方式存储 ConcreteMyClass

最佳答案

是的,可以为 Realm 模型使用具体的通用子类,您只需要告诉 Realm 忽略非专用类:

import Cocoa
import RealmSwift

class MyClass<T>: Object {
dynamic var parentProp = 0
required init() {
super.init()
}
}

class ConcreteMyClass: MyClass<String> {
dynamic var childProp = 0
required init() {
super.init()
}
}

let realm = try! Realm(configuration: Realm.Configuration(objectTypes: [ConcreteMyClass.self]))
try! realm.write {
realm.add(ConcreteMyClass())
}

print(realm.objects(ConcreteMyClass.self))

记录:

Results<ConcreteMyClass> (
[0] ConcreteMyClass {
parentProp = 0;
childProp = 0;
}
)

关于ios - 在 Realm 中存储具体的泛型子类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39096243/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com