直接监听
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) {
}
}
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。