gpt4 book ai didi

swift - 无法在 View Controller 之间传递数据

转载 作者:行者123 更新时间:2023-11-30 10:27:51 24 4
gpt4 key购买 nike

我试图将ViewController中的字符串sendname传递给另一个 View Controller DatabaseTableViewController中的字符串变量finalName.这是我在 ViewController 中的代码:

                    self.sendname = self.name.text!
let vc = DatabaseTableViewController()
print("sending: \(self.sendname)")
vc.finalName = self.sendname
self.navigationController?.pushViewController(vc, animated: true)
let next = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "DatabaseTableViewController") as! DatabaseTableViewController
self.present(next, animated: true, completion: nil)

以及我在DatabaseTableViewController中的viewDidLoad中的变量:

class DatabaseTableViewController: UIViewController {

var finalName: String? = nil

我的代码正确打印sending: Satya,但是当我在DatabaseTableViewController中打印finalName的值时,它仍然给我无。我该怎么办?



谢谢,萨蒂亚






最佳答案





您将值分配给未呈现的实例



                let vc = DatabaseTableViewController()
print("sending: \(self.sendname)")
vc.finalName = self.sendname
self.navigationController?.pushViewController(vc, animated: true)
let next = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "DatabaseTableViewController") as! DatabaseTableViewController

您预设了next,但未为其分配数据

 self.present(next, animated: true, completion: nil)
<小时/>

注意您的 vc 是否存在于 Storyboard 中,然后实例化

 let next = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "DatabaseTableViewController") as! DatabaseTableViewController

如果以编程方式则使用

 let vc = DatabaseTableViewController()

所以尝试一下

    let vc= UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "DatabaseTableViewController") as! DatabaseTableViewController
print("sending: \(self.sendname)")
vc.finalName = self.sendname
self.navigationController?.pushViewController(vc, animated: true)

关于swift - 无法在 View Controller 之间传递数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59760670/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com