【发布时间】:2015-04-11 09:33:21
【问题描述】:
我正在尝试创建一个自定义 delegate,它将一个整数值发送到主父 ViewController 类。我建立了一个协议并在父类上实现。可选绑定代码始终显示可选值。为什么会发生这种情况,尽管我已经从我的 UIViewController 类中设置了委托值?
protocol SendMessage{
func sendViewMessage(Int)
}
class BankLoginView: UIView,UITextFieldDelegate {
var delegate1 : SendMessage?
// var accountViewController:UIViewController=AccountLanding()
override init(frame: CGRect) {
super.init(frame: frame)
}
@IBAction func btnTickAction(sender: AnyObject) {
if let temp = self.delegate1 {
delegate1?.sendViewMessage(2)
}else{
println("optional value contains nill value")
}
}
}
我将委托的值设置为
class BankLogin: UIViewController ,SendMessage{
override func viewDidLoad() {
super.viewDidLoad()
let rect: CGRect = CGRect (x: 0, y :10 , width: self.view.frame.size.width-50, height: self.view.frame.size.height-10)
var a = BankLoginView(frame : rect)
a.delegate1 = BankLogin()
}
}
【问题讨论】: