我是swift的新人 我写了简单的api连接器来从服务器获取信息,但我不知道如何从服务器获取数据并在应用程序中使用它
var account: DriverAccount = DriverAccount()
ApiConnectController.instance().makeAPICall(url: driverAuthUrlEndpoint,
params:paramsDictionary,
withAutorization: false,
method: .POST,
success: { (data, response, error, json) in
self.account = try! DriverAccount(json: json!) // Error Closure cannot implicitly capture a mutating self parameter
print("OK")
},
failure: { (data, response, error, json) in
print("NOT")
})
如何将数据导入self.account?
class DriverAccount {
var callSign: String?
var dispPhone: String?
var isLoggedin:Bool
init() {
self.callSign = ""
self.dispPhone = ""
self.isLoggedin = false
}
init(isLoggedIn logedIn: Bool, withCallSign callsign: String, andDispPhone dispPhone: String) {
self.callSign = callsign
self.dispPhone = dispPhone
self.isLoggedin = logedIn
}
}
答案 0 :(得分:0)
我认为,您的DriverAccount是一个结构。结构是价值观。因此,复制值以便在闭包中重用,self.account是闭包中的let-value。如果要在闭包中更改局部变量,请使用class。 并且,如果只使用自我,你可以产生保留... - 使用([弱自我])来避免它。 https://stackoverflow.com/a/26598603/5769826