あるコントローラから次のコントローラにデータを渡そうとしています。次のようにコードがある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"
}
}
}
第2のビューコントローラ:
@IBOutlet var jsonResult: UILabel!
var textLabel = String()
override func viewDidLoad() {
jsonResult.text = textLabel
}
結果が正しくコンソールに印刷されているが、それは上のラベルに表示されません2番目のビューコントローラページ。
viewwillappaerでjsonResult.textを設定しても機能しているかどうかチェックしましたか? – ocanal
どうすればよいか分かりません – Dexstrum
[View Controller間でデータを受け渡しする]可能な複製(http://stackoverflow.com/questions/5210535/passing-data-between-view-controllers)。その答えの中には、特にSwiftのものがあります。 [これ](http://stackoverflow.com/a/31934786/5175709)one – Honey