swift中的代理使用

作者: coderhlt | 来源:发表于2018-08-21 13:30 被阅读0次
import UIKit
//声明一个协议clcikDelegate,需要继承NSObjectProtocol 
protocol clcikDelegate:NSObjectProtocol {
 func click()
}

class myView: UIView {
    override init(frame: CGRect) {
        super.init(frame:frame)
        self.backgroundColor = UIColor.yellow
        let btn = UIButton()
        btn.backgroundColor = UIColor.red
        btn.frame=CGRect(x: 0, y: 10, width: 100, height: 40)
        btn.addTarget(self, action: #selector(jump), for: UIControlEvents.touchUpInside)
        self.addSubview(btn)
    }
    //02、声明一个代理属性,必须用weak修饰
    weak var delegate:clcikDelegate?
    
    @objc func jump() {
        //和oc不一样的是,Swift中如果简单的调用代理方法, 不用判断代理能否响应
        delegate?.click()
    }

    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
}
import UIKit
class ViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
     let myview = myView()
        //成为delegate
        myview.delegate=self
        myview.frame = CGRect(x: 100, y: 100, width: 100, height: 100)
        view.addSubview(myview)
    }
}
//遵守协议,实现代理方法
extension ViewController:clcikDelegate{
    func click() {
        print("传值")
    }
}

相关文章

  • Swift代理协议的安全使用

    文章 Swift代理协议的安全使用 概述 在Swift下,使用代理协议,并且检验代理对象的存在和协议函数是否被实现...

  • swift中的代理使用

  • Swift协议+代理

    Swift语言开发中使用协议+代理的用法和oc中是一样的,只不过变得是语法。现在就进入swift的协议+代理。 先...

  • #发现swift3.0# 关于UIImagePickerCont

    使用UIImagePickerController只要设置好代理、写代理方法就行了,但是在swift中编译没有什么...

  • oc程序员学习swift(二)- 协议代理使用

    swift协议代理的使用跟oc的协议代理差不套多,不过语法上还是有不小的区别。swift使用协议的关键字:...

  • 将protocol(代理)的方法声明为mutating

    swift中的代理不止可以对class类型实现,它还可以让struct 和枚举(enum)使用,使用它修饰可以修改...

  • Swift代理

    一、swift代理如何使用?1.定义协议&代理变量&调用代理方法: 2.遵循代理&重写代理方法 二、如果有些代理方...

  • Swift代理的使用

    个人总结, 代理的使用需要五个步骤: 1.设置代理协议,定义可选或者必选方法 2 声明一个delegate属性 3...

  • swift 代理的使用

    代理的使用方式和场景很多,这里我就用代理传值来做例子吧 以上,就是代理传值的基本一个使用,要是有哪里不对的请各位指...

  • Day Three UITableView的使用总结

    在iOS开发中使用最为平凡的控件要数UITableView了,在swift中,UITableView和OC的代理方...

网友评论

    本文标题:swift中的代理使用

    本文链接:https://www.haomeiwen.com/subject/slodiftx.html