答案 0 :(得分:2)
要在ContainedViewController
中调用方法,首先需要获取对它的引用。一种简单的方法是单击文档大纲视图中的嵌入segue ,并为此segue指定一个标识符,例如"embedContainedVC"
。
然后,您可以在prepareForSegue
中使用该标识符来获取对嵌入式视图控制器的引用,并在单击该按钮时使用该标识符在该视图控制器上调用方法。
<强> ViewController.swift:强>
class ViewController: UIViewController {
@IBOutlet weak var container: UIView!
override func viewDidLoad() {
super.viewDidLoad()
}
var containedVC: ContainedViewController!
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "embedContainedVC" {
containedVC = segue.destinationViewController as! ContainedViewController
}
}
@IBAction func doClick(sender: AnyObject) {
print("call contained VC")
containedVC.clickedClick()
}
}
<强> ContainedViewController.swift:强>
import UIKit
class ContainedViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
func clickedClick() {
print("click")
}
}