Objectmapper: Die Argumentbezeichnungen „(_:)“ stimmen mit keinen verfügbaren Überladungen überein

Erstellt am 17. Sept. 2016  ·  4Kommentare  ·  Quelle: tristanhimmelman/ObjectMapper

Ich habe Modell:

class Branch: Mappable {
    var id: Int!
    var name: String!
    var city: String!
    var address: String!
    var base_url: String!
    var image: String?
    var caffe: Bool!
    var restaurant: Bool!
    var latitude: String!
    var longitude: String!
    var phone: String!
    var mobtel: String!
    var ft_count: Int!
    var ft_grouped_count: String!

    required init?(map: Map) {

    }

    func mapping(map: Map) {
        id <- map["id"]
        name <- map["name"]
        city <- map["city"]
        address <- map["address"]
        base_url <- map["base_url"]
        image <- map["image"]
        caffe <- map["caffe"]
        restaurant <- map["restaurant"]
        latitude <- map["latitude"]
        longitude <- map["longitude"]
        phone <- map["phone"]
        mobtel <- map["mobtel"]
    }
}

und:

                        let jsonObj = JSON(response.result.value)
                        for obj in jsonObj {
                            let branch = Mapper<Branch>().map(obj.1.rawString()!) // error here
                            self.results.append(branch!)
                        }

aber ich bekomme Fehler:

Argument labels '(_:)' do not match any available overloads

in dieser Zeile let branch = Mapper<Branch>().map(obj.1.rawString()!) .

Das hat vorher funktioniert, ist das ein Fehler?

Hilfreichster Kommentar

@robbiet480 ist richtig. Dies ist kein Fehler, sondern eine Änderung in der API. Mapper verwendet jetzt benannte Parameter in den meisten seiner Funktionen.

Es gibt eine neue API, mit der Sie Ihre Objekte zuordnen können. Es gibt eine Erweiterung für Mappable , die eine initialisiererbasierte Zuordnung für Ihre Objekte bereitstellt, die mit Mappable konform sind. Hier ein Beispiel für Ihre Situation:

let branch = Branch(JSONString: obj.1.rawString()!)

Alle 4 Kommentare

Ich habe den gleichen Fehler.

Angenommen, Sie haben eine JSON-Zeichenfolge, sollten Sie das Problem beheben können, indem Sie Folgendes ändern:

let branch = Mapper<Branch>().map(JSONString: obj.1.rawString()!)

@robbiet480 ist richtig. Dies ist kein Fehler, sondern eine Änderung in der API. Mapper verwendet jetzt benannte Parameter in den meisten seiner Funktionen.

Es gibt eine neue API, mit der Sie Ihre Objekte zuordnen können. Es gibt eine Erweiterung für Mappable , die eine initialisiererbasierte Zuordnung für Ihre Objekte bereitstellt, die mit Mappable konform sind. Hier ein Beispiel für Ihre Situation:

let branch = Branch(JSONString: obj.1.rawString()!)

Ich habe den gleichen Fehler mit diesem.
var token = deviceToken.description.trimmingCharacters(in: CharacterSet(charactersInString:"<>" ))

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen