1

所以我有以下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 数据库中填充任何内容。由于没有键,例如我不能使用 search <- map["id"] 方式。有谁知道如何将这些结果放入我的 Realm 数据库中?谢谢!

4

1 回答 1

1

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

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?
}
于 2016-06-06T07:09:43.587 回答