Ich habe einen API-Aufruf zum Protokollieren meiner Benutzer in einer App erstellt. Ich benutze Alamofire und SwiftyJSON. API-Aufruf funktioniert gut und ich bekomme eine JSON
Datei wie diese:Kann kein Objekt mit JSON-Antwort von API-Aufruf erstellen
{
"code": 200,
"message": "OK",
"data": {
"user_id": 1,
"user_email": "test",
"user_username": "kk1",
}
}
Um die Benutzerinformationen in UserDefault
zu speichern, ich möchte, dass meine User-Objekt mit diesem JSON
Antwort erstellen. Hier ist das Modell
class LFUser: NSObject {
var user_id: Int?
var user_email: String?
var user_username: String?
init(dict: [String: AnyObject]){
super.init()
user_id = dict["user_id"] as? Int
user_email = dict["user_email"] as? String
user_username = dict["user_username"] as? String
}
}
Hier ist der Teil der Login-Funktion, wenn der API-Aufruf und die Objectis erstellt:
func login(userEmail: String, userPassword: String, finished: @escaping(_ status:String,_ data: LFUser?)->()) {
if let value = response.result.value {
let dict = JSON(value)
let code = dict["code"].intValue
let message = dict["message"].stringValue
if let data = dict["data"].dictionary {
print(data)
let user = LFUser(dict: data as [String : AnyObject])
print(user.user_email)
finished("Success", user)
}
}
Der Druck (Daten) funktioniert gut, aber es gibt ein Problem, wenn die Schaffung Objekt und der Ausdruck (user.user_email) zeigen nil an.
wie diesen Link etwas tun https://stackoverflow.com/questions/2315948/how-to-store-custom-objects-in-nsuserdefaults –
ty dafür aber vielleicht es wird mein Problem nicht lösen, weil ich das Objekt nicht korrekt erstellen kann? –
vielleicht ist das der nächste Schritt –