我读了很多关于代表,但实际上我不能正确使用它。如何在Swift中正确使用委托?
描述:我有A: UIViewController
,B: UIView
,C: UIViewController
。我想从A: UIViewController
到从B: UIView
内部的C: UIViewController
继续运行。
我已经试过:
protocol SegueDelegate {
func runSegue(identifier: String)
}
class B: UIView { ... }
凡在我A: UIViewController
:
override func viewDidLoad() {
B().delegate = self
}
func runSegue(identifier: String) {
self.performSegueWithIdentifier(identifier, sender: self)
}
,并试图通过调用它:
@IBAction func send(sender: AnyObject) {
let a: SegueDelegate? = nil
a!.runSegue("goToMainPage")
}
,但我敢肯定,我做没有正确使用它。任何人都可以帮助我吗?我不想要一个答案。请描述我来说,概念不久
非常感谢你的例子!我只想问一下这行:'self.viewWithDelegate.delegate = self'。我无法将视图设置为委托'self.view.delegate'。需要我为此做些额外的事情,或者我明白错误? –
不知道我完全理解你的问题。 ViewControllerA需要设置viewWithDelegate的委托。 viewWithDelegate怎么知道如何获得委托? –
你能接受答案吗? –