我讀了很多關於代表,但實際上我不能正確使用它。如何在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怎麼知道如何獲得委託? –
你能接受答案嗎? –