我试图在 ViewController 加载时执行 segue,以便它可以触发 prepareForSegue
函数。
我尝试过使用performselector
,但它不起作用。有什么建议么?
func doSegue() {
performSegue(withIdentifier: "doSegue", sender: nil)
}
perform(Selector(("doSegue")), with: nil, afterDelay: 1)
func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
let guest = segue.destination as! WarningTableViewController
//code
}
它说找不到名为doSegue
的选择器。
最佳答案
您发布的代码令人困惑。
为什么那里有一个 perform(Selector...
?
这是一个工作示例:
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
performSegue(withIdentifier: "doSegue", sender: self)
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "doSegue" {
print("It works")
// Or call another function, e.g. "doSomethingElse()"
}
}
}
还要仔细检查Interface Builder
中的segue声明:
关于swift - 如何在ViewController加载上执行prepareForSegue函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57663180/