swift-基础-传值

直接监听

  • Swift中可以直接拿到别的类的成员变量来监听

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辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,688评论 4 61
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,328评论 25 709
  • 周同学给我说过一个故事,故事的主人公是他的偶像,一直认为像周同学这么拽这么有个性又有才华的人,谁能是他的偶像呢,真...
    兔小蝉阅读 2,682评论 0 0
  • 我在北方的早上 等待着初雪的到来 可是心里却无比怀念 那个有着炙热的阳光 有着吃不完的西瓜和甜腻冰淇淋的夏天 因为...
    树林下雪了阅读 1,382评论 0 0
  • 于是,我们回来的时候改乘圣马洛船,在再没遇见他。 冬天很快来临了,鹅毛大雪,一下就是好几天,房棱上结了好多个冰柱子...
    星星草的梦阅读 3,663评论 1 2

友情链接更多精彩内容