如何在RealmSwift中使用数组或字典?

如何在RealmSwift中使用数组或字典?,swift,realm,realm-mobile-platform,Swift,Realm,Realm Mobile Platform,我真的很累 我保存了我的模型。 但RealmSwift不支持阵列、Dic。。。 我能做什么 import Foundation import RealmSwift class DumbData: Object { @objc dynamic var myModel: [[String: String]]! } class ViewController: UIViewController { ... let data = DumbData() data.myM

我真的很累

我保存了我的模型。 但RealmSwift不支持阵列、Dic。。。 我能做什么

import Foundation
import RealmSwift

class DumbData: Object {
    @objc dynamic var myModel: [[String: String]]!
}

class ViewController: UIViewController {
    ...

    let data = DumbData()
    data.myModel = [["asdf": "1234"]]

    let realm = try! Reaml()
    try realm.write {
        realm.add(data) // error. Realm Does not support Array, Dic...
    }
    ...
}

数组通常表示为。这允许处理领域中的关系

域不支持字典。但它可以通过两个类和多个关系来实现。例如:

class User: Object {
    dynamic var name = ""
    let stackOverflowQuestions = List<Question>()
}

class Question: Object {
    dynamic var title = ""
    dynamic var message = ""
    // etc.
}
class用户:对象{
动态变量名称=“”
让stackOverflowQuestions=List()
}
课堂提问:对象{
动态变量title=“”
动态var message=“”
//等等。
}

列表是域中用于定义多个关系的容器类型。 与Swift的数组一样,List是一种泛型类型,它根据存储的对象类型进行参数化

如果您想通过领域使用数组,请执行此操作

 var userMachines = List<Machine>()
结果将作为数组返回

func fetchRealmMachine() -> [Machine]{
    let realm = try! Realm()
    let realmMachines = realm.object(ofType: UserSession.self)?.userMachines
    return Array(realmMachines!)
}