使用 ObjectMapper 和 Realm 在数据库中映射单个数组

Map single array in database with ObjectMapper and Realm

所以我有以下 JSON:

{
 result: [
    " Sans Marque",
    "'t Boerinneke",
    "1 mètre de bière",
    "1ste prijs",
    "2Force",
    "2K Games ",
    "3M",
    "4711",
    "505 Games",
    "8x4",
    "ABB",
    "ACO",
    ...
  ]
}

我正尝试通过以下方式使用 ObjectMapper 进行映射:

class AutoCompleteResult: Mappable {
    var result:[AutoComplete]?

    required init?(_ map: Map) {

    }

    func mapping(map: Map) {
        result <- map["result"]
    }

}

class AutoComplete: Object, Mappable {
    dynamic var search: String?

    required convenience init?(_ map: Map) {
        self.init()
    }


    func mapping(map: Map) {
        //var categories: [Int]? = nil
        search <- map[""]
    }

}

它没有在我的 Realm 数据库中填充任何内容。由于没有键,我不能使用搜索 <- map["id"] 的方式。 有谁知道如何将这些结果放入我的 Realm 数据库中? 谢谢!

你能试试下面的代码吗?我认为 ObjectMapper 不能将数组直接串到 RealmObject classes 的数组。所以先将字符串数组存储到一个临时变量中,然后枚举数组以从字符串实例化模型class,然后附加它。

class AutoCompleteResult: Mappable {
    var result: [AutoComplete]?

    required init?(_ map: Map) {

    }

    func mapping(map: Map) {
        var result: [String]?
        result <- map["result"]
        if let result = result {
            self.result = [AutoComplete]()

            for search in result {
                let autoComplete = AutoComplete()
                autoComplete.search = search
                self.result?.append(autoComplete)
            }
        }
    }

}

class AutoComplete: Object {
    dynamic var search: String?
}