【发布时间】:2021-12-28 06:59:33
【问题描述】:
我有 2 个 VC,它们之间有一个导航控制器。如何将 First screen 设置为 Second 的代表?
我尝试了什么:
- 从第一个开始展示 SecondVC(它在没有导航的情况下展示它)
- 在 NavVC viewDidLoad() 中设置委托
第一VC:
class MainVC: UIViewController, SecondVCDelegate {
func passData(text: String) {
// do stuff
}
@IBAction func openNextVC(_ sender: Any) {
let nextVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "NavVC") as! NavVC
present(nextVC, animated: true, completion: nil)
}
override func viewDidLoad() {
super.viewDidLoad()
}
}
导航控制器:
class NavVC: UINavigationController {
override func viewDidLoad() {
super.viewDidLoad()
}
}
第二个VC:
protocol SecondVCDelegate {
func passData(text: String)
}
class SecondVC: UIViewController {
var delegate: SecondVCDelegate?
@IBAction func save(_ sender: Any) {
// do stuff
}
override func viewDidLoad() {
super.viewDidLoad()
}
}
【问题讨论】:
标签: ios swift uinavigationcontroller delegates