我有一个普通的UIViewController
,所有我的UIViewsControllers
都会继承它以重用一些共同操作。
我想在这个“Common”UIViewController
上设置一个segue,以便所有其他UIViewControllers
都可以继承它。
我正在尝试找出如何以编程方式实现这一点。
我猜问题也可以是如何为所有UIViewControllers
设置一个segue,而不用手动进入story board进行设置。
我有一个普通的UIViewController
,所有我的UIViewsControllers
都会继承它以重用一些共同操作。
我想在这个“Common”UIViewController
上设置一个segue,以便所有其他UIViewControllers
都可以继承它。
我正在尝试找出如何以编程方式实现这一点。
我猜问题也可以是如何为所有UIViewControllers
设置一个segue,而不用手动进入story board进行设置。
这是关于以编程方式创建segue
的代码示例:
class ViewController: UIViewController {
...
// 1. Define the Segue
private var commonSegue: UIStoryboardSegue!
...
override func viewDidLoad() {
...
// 2. Initialize the Segue
self.commonSegue = UIStoryboardSegue(identifier: "CommonSegue", source: ..., destination: ...) {
self.commonSegue.source.showDetailViewController(self.commonSegue.destination, sender: self)
}
...
}
...
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
// 4. Prepare to perform the Segue
if self.commonSegue == segue {
...
}
...
}
...
func actionFunction() {
// 3. Perform the Segue
self.prepare(for: self.commonSegue, sender: self)
self.commonSegue.perform()
}
...
}
self.prepare(for: self.commonSegue, sender: self)
。那么在prepare(for:sender)
方法中比较if self.commonSegue == segue {...}
的意义是什么? - nayemprepare(for:sender:)
中,您可以在目标视图控制器显示之前对其进行配置。当然,您也可以在actionFunction
中完成此操作。 - jqgsninimo