ich meine Klasse Benutzer mit dem Objekt-Mapper Karte:Kann Wert des Typs 'String?' Nicht konvertieren (Alamofire)
class User: Mappable{
private var _username: String! = nil
private var _password: String! = nil
private var _firstName: String! = nil
private var _lastName: String! = nil
//here are getters and setters(it takes too much space)
init(){
}
required init?(_ map: Map) {
}
func mapping(map: Map) {
username <- map["USERNAME"]
password <- map["PASSWORD"]
firstName <- map["FIRST_NAME"]
lastName <- map["LAST_NAME"]
}
}
Und dann habe ich versucht, neue Benutzer zu machen und einige Werte setzen, Karte das gesamte Objekt und senden mit Alamofire wie folgt aus:
let userEmail = userEmailField.text!
let userPassword = userPasswordField.text!
let user = User()
user.username = userEmail
user.password = userPassword
let JSONString = Mapper().toJSONString(user, prettyPrint: true)
AlamofireService.alamofireService.makePostServiceRequest(URL_BASE, parameters: JSONString, resposeCallback: self)
Ich folgte den Anweisungen von Bibliotheken, aber ich bekomme den Fehler "Kann Wert des Typs 'String?' zum erwarteten Argumenttyp '[String: AnyObject]' ", warum?
Was ist der Fehler, den Sie erhalten? –
@MatanLachmish sorry ich habe vergessen zu schreiben. Ich bearbeite meine Frage. –
Was ist der Sinn der Verwendung privater Instanzvariablen mit Gettern und Setter? Das ist schnell! Und was ist der Sinn von implizit ausgepackten Optionen in einer Init-Methode? Entweder können die Werte "nil" sein, dann können sie als ** real ** optional deklariert werden, oder wenn sie niemals "nil" sind, deklarieren Sie sie als nicht optional. – vadian