【发布时间】:2014-06-05 11:37:28
【问题描述】:
我有两个控制器,我需要调用第一个控制器到第二个控制器的函数: 在第二个控制器中,我在类中创建了协议和初始化委托:
protocol testProtocol {
func testDelegate() // this function the first controllers
}
class SecondViewController: UIViewController {
var delegate: testProtocol?
....
}
@IBAction func testDelegateClicked(sender : AnyObject) {
delegate?.testDelegate()
}
第一个控制器
类 ViewController: UIViewController, testProtocol { var secondController: SecondViewController = SecondViewController()
override func viewDidLoad() {
super.viewDidLoad()
secondController.delegate = self
}
func testDelegate() {
println("Hello delegate")
}</pre>
但是函数没有被调用
【问题讨论】:
-
secondViewController的显示效果如何? -
在第二个控制器中只有标准函数(ViewDidLoad 和 didReceiveMemoryWarning)和我展示的按钮处理程序
-
还要确保你获得了对委托的弱引用。默认情况下,swift 中的属性很强大
标签: ios uiviewcontroller swift ios8