Swift学习

swift-基础-传值

2016-08-15  本文已影响6人  埃林的奶酪

直接监听


messageView.registorButton.addTarget(self, action: #selector(registorClick), forControlEvents: UIControlEvents.TouchUpInside)

@objc private func registorClick(button: UIButton)

    {
    }

代理

import UIKit

protocol MessageVisitorViewDelegate: NSObjectProtocol

{

    // 默认情况下协议中的方法都是必须实现的

    func messageVisitorViewDidClickRegistorButton(messageVisitorView: MessageVisitorView)

    func messageVisitorViewDidClickLoginButton(messageVisitorView: MessageVisitorView)

}

    // 代理可以有,也可以没有,所以是可续

    weak var delegate: MessageVisitorViewDelegate?

    @IBAction func registorClick(sender: AnyObject) {
        // 因为协议方法都是必须实现,因此这里不需要判断代理是否实现了方法

        delegate?.messageVisitorViewDidClickRegistorButton(self)

    }

    

    @IBAction func loginClick(sender: AnyObject) {

        delegate?.messageVisitorViewDidClickLoginButton(self)

    }

// 设置代理
messageView.delegate = self
// Swift中一般另外开辟一块代码块来写代理方法
extension MessageController: MessageVisitorViewDelegate

{

   func messageVisitorViewDidClickLoginButton(messageVisitorView: MessageVisitorView) {

    }

  func messageVisitorViewDidClickRegistorButton(messageVisitorView: MessageVisitorView) {

    }

}
上一篇 下一篇

猜你喜欢

热点阅读