Swift 2.0 的 Alamofire 和 SwiftyJSON
Alamofire and SwiftyJSON for Swift 2.0
我今天正在更新 Swift 2.0 的代码,但是行
var json = JSON(json)
给我以下错误
Cannot invoke intializer for type 'JSON' with an argument list of type
(Result)
你们知道我应该如何更改我的代码吗?
@IBAction func changePassword(sender: UIBarButtonItem) {
Alamofire.request(.POST, AppDelegate.kbaseUrl + "users/me/password", parameters: ["old_password": self.oldPasswordTextField.text!, "new_password": self.newPasswordTextField.text!, "confirm_password": self.confirmPasswordTextField.text!], encoding: .JSON)
.responseJSON {
(req, res, json) in
var json = JSON(json)
if json["meta"]["status"]["code"] == 200 {
self.navigationController?.popViewControllerAnimated(true)
}
let alert = UIAlertView(title: json["meta"]["msg"]["subj"].stringValue, message: json["meta"]["msg"]["body"].stringValue, delegate: nil, cancelButtonTitle: "Close")
alert.show()
}
}
现在响应对象随附,因此您必须使用响应对象
中的value
属性
所以会是JSON(json.value!)
例如:
Alamofire.request(.GET, "http://api.androidhive.info/contacts/", parameters: nil, encoding: .JSON, headers: nil).responseJSON { (req, res, json) -> Void in
print("\(res?.allHeaderFields)")
print("JSON - \(json.value)")
let swiftJsonVar = JSON(json.value!)
print(swiftJsonVar)
}
我今天正在更新 Swift 2.0 的代码,但是行
var json = JSON(json)
给我以下错误
Cannot invoke intializer for type 'JSON' with an argument list of type (Result)
你们知道我应该如何更改我的代码吗?
@IBAction func changePassword(sender: UIBarButtonItem) {
Alamofire.request(.POST, AppDelegate.kbaseUrl + "users/me/password", parameters: ["old_password": self.oldPasswordTextField.text!, "new_password": self.newPasswordTextField.text!, "confirm_password": self.confirmPasswordTextField.text!], encoding: .JSON)
.responseJSON {
(req, res, json) in
var json = JSON(json)
if json["meta"]["status"]["code"] == 200 {
self.navigationController?.popViewControllerAnimated(true)
}
let alert = UIAlertView(title: json["meta"]["msg"]["subj"].stringValue, message: json["meta"]["msg"]["body"].stringValue, delegate: nil, cancelButtonTitle: "Close")
alert.show()
}
}
现在响应对象随附,因此您必须使用响应对象
中的value
属性
所以会是JSON(json.value!)
例如:
Alamofire.request(.GET, "http://api.androidhive.info/contacts/", parameters: nil, encoding: .JSON, headers: nil).responseJSON { (req, res, json) -> Void in
print("\(res?.allHeaderFields)")
print("JSON - \(json.value)")
let swiftJsonVar = JSON(json.value!)
print(swiftJsonVar)
}