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 に答える