Alamofireリクエストのデータを1つのViewControllerから渡す必要があり、次のView ControllerのUIlabelsに送信する必要があります。私はそのView Controllerにまだ移行したくありません。しかし、宛先View Controllerは、Alamofireリクエストからデータを読み込んで使用できる必要があります。私はセグーでそれを試しましたが、私はそれを働かせることはできません。そして、これが正しい方法であるかどうか疑問に思っています。Swift 3:移動しないで次のView Controllerにデータを渡す必要があります
これは私が持っているものです。
Alamofire.request(URL_SCAN_ID, method: .post, parameters: ScanParameters, encoding: JSONEncoding.default) .responseJSON
{
response in
//printing response
print(response.request!)
print(response.response!)
print(response.data!)
print(response.result)
print(response.error)
//getting the json value from the server
let value = response.result.value
print(value!)
let json = JSON(value!)
let productdesc0:JSON = json["productdesc"]
let productdescString = productdesc0.string
self.performSegue(withIdentifier: "ScanInfo", sender: productdescString)
func prepareForSegue(segue: UIStoryboardSegue, sender: Any){
if (segue.identifier == "ScanInfo"){
let destinationVC = segue.destination as! ScanInfoViewController
destinationVC.productdescription01 = productdescString!
print("oeiii",sender)
}
}
私はデータもセグエに送信されていないと思う...印刷は何も表示されません。
正しい方法ではありません。まず、ビューコントローラからネットワークメソッドを呼び出さないでください。第二に、performSegueはあなたが望まない移行を開始する必要があります。第3に、prepareForSegueはViewControllerになければならず、 "override"でマークする必要があります。そのメソッドにブレークポイントを設定した場合、呼び出されていないとみなされます。 – pbergson