嘿,我的代码在第一次尝试第二次尝试在另一个视图控制器中更改数据,只是显示了默认值
按钮内的代码

@IBAction func check(_ sender: Any) {
    makeRequest()
    let fin = UIStoryboard(name: "FinalViewController", bundle: nil)
    let pop = fin.instantiateInitialViewController()! as! FinalViewController
    pop.img = icon
    pop.state = state
    pop.fail = failed
    self.present(pop, animated: true)
}
第二视图控制器中的代码
class FinalViewController: UIViewController {
    @IBOutlet weak var weathure_icon: UIImageView!
    @IBOutlet weak var status: UILabel!
    var fail = false
    var img = ""
    var state = ""
    override func viewDidLoad() {
        if fail == false{
            super.viewDidLoad()
            status.text = state
            weathure_icon.image = UIImage(named: img+".png")
    }
}

最佳答案

请在按钮操作内检查代码中的三件事。

  • 请交叉检查, makeRequest()是异步请求吗?
  • 是来自 makeRequest()方法的图标,状态和失败的参数请求,在这种情况下,您需要处理主线程上的请求数据。
  • 请在您的代码中替换以下内容:


  • let fin = UIStoryboard(name:“FinalViewController”,bundle:nil)
    让pop = fin.instantiateInitialViewController()!如! FinalViewController

    let fin = UIStoryboard(名称:“STORYBOARD_NAME”,包:无)
    让pop = fin.instantiateInitialViewController(identifier:“FinalViewController”)!如! FinalViewController
    希望这对您有所帮助,并能使您的实施成功:)

    关于ios - 第二次尝试查看 Controller 的数据更改,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/63766344/

    10-13 09:19