giao thức đại biểu của tôi không bao giờ gọi
điều khiển đầu tiên của tôi - ViewControllerđại biểu nhanh chóng beetween hai bộ điều khiển xem mà không segue
class ViewController: UIViewController,testProtocol {
@IBAction func btInit(sender: AnyObject) {
println("Bt Init")
let storyBoard : UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let initViewController: UIViewController = storyBoard.instantiateViewControllerWithIdentifier("viewTarget") as targetViewController
self.presentViewController(initViewController,animated: false, nil)
}
var targetController = targetViewController();
override func viewDidLoad() {
super.viewDidLoad()
self.targetController.delegate = self
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func testDelegate(){
println(" in my view controller delegate ")
}
}
Trong điều khiển xem thứ hai của tôi - targetViewController
protocol testProtocol {
func testDelegate() // this function the first controllers
}
class targetViewController: UIViewController {
@IBAction func BtTarget(sender: AnyObject) {
println("bt target pressed")
delegate?.testDelegate()
}
var delegate : testProtocol?
override func viewDidLoad() {
super.viewDidLoad()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
func testDelegate(){
println(" in my target view controller delegate ")
}
}
Tại sao testDelegate () không bao giờ được gọi trên ViewController? Tôi đang làm gì sai? Cảm ơn.
Tôi đã đọc rất nhiều bài viết về điều này, nhưng tất cả các ví dụ được đưa ra với chuyển tiếp segue, và tôi không muốn sử dụng một segue.
cảm ơn, nó phù hợp với tôi. – user2718075
@ user2718075 Tuyệt vời, rất vui khi được nghe! – trevorj
@trevorj cũng đã làm việc cho tôi. Cảm ơn! – iRiziya