我试图将数据从一个控制器传递到下一个控制器。该代码是如下Swift 3在视图控制器之间传递数据
首先视图控制器:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
let parameters: Parameters = [
"x": 2,
"y": 2
]
Alamofire.request(url, method: .post, parameters: parameters, encoding: URLEncoding.default).responseJSON { response in
if((response.result.value) != nil) {
let jsonVar: JSON = JSON(response.result.value ?? "success")
let destViewController : JSONResult = segue.destination as! JSONResult
let result = "\(jsonVar)"
destViewController.textLabel = result
print(result)
//self.jsonDisplayError.text = "\(jsonVar)"
} else {
self.jsonDisplayError.text = "no response"
}
}
}
第二视图控制器:
@IBOutlet var jsonResult: UILabel!
var textLabel = String()
override func viewDidLoad() {
jsonResult.text = textLabel
}
结果被输出到控制台正确,但它不是在对标签显示第二视图控制器页面。
您是否在viewwillappaer上设置jsonResult.text时检查它是否正常工作? – ocanal
我不知道如何做到这一点 – Dexstrum
[视图控制器之间传递数据](http://stackoverflow.com/questions/5210535/passing-data-between-view-controllers)可能的重复。它的一些答案是专门针对Swift的。像[this](http://stackoverflow.com/a/31934786/5175709)一个 – Honey