美文网首页
swift 代理的使用

swift 代理的使用

作者: BrumeLoong | 来源:发表于2018-01-01 12:53 被阅读0次

代理的使用方式和场景很多,这里我就用代理传值来做例子吧

首先制定协议(不写NSObjectProtocol暂时不会报错,但是写属性是无法写weak)
protocol testDeledate : NSObjectProtocol {
//设置协议方法
    func giveValue(str : String)
}

class BlockTViewController: UIViewController {
    
    var label : UITextView?
//这个地方我没使用weak来修饰好像没啥不对,区别应该还是有的我暂时没发现
    var isMydelegate : testDeledate?
    override func viewDidLoad() {
        super.viewDidLoad()
        label = UITextView(frame: CGRect(x: 100, y: 100, width: 100, height: 100))
        label?.layer.borderWidth = 1
        view.addSubview(label!)
        // Do any additional setup after loading the view.
        view.backgroundColor = UIColor.green
    }

    override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
//        self.present(swiftB!, animated: true, completion: nil)
        self.dismiss(animated: true, completion: nil)
//返回要传的值
        isMydelegate?.giveValue(str: "shi ni na sai")
    }

//实现代理并实现方法
class SwiftBlockViewController: UIViewController, testDeledate{
    func giveValue(str: String) {
        label?.text = str
    }
   
    var swiftT = BlockTViewController()
    var label : UITextView?
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
        label = UITextView(frame: CGRect(x: 100, y: 100, width: 100, height: 100))
        label?.layer.borderWidth = 1
        view.addSubview(label!)
        view.backgroundColor = UIColor.yellow
//设置代理
        swiftT.isMydelegate = self
        
    }
    override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {        
        self.present(swiftT, animated: true, completion: nil)
    }
}

以上,就是代理传值的基本一个使用,要是有哪里不对的请各位指出!!!

相关文章

  • Swift代理协议的安全使用

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

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

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

  • Swift代理

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

  • Swift代理的使用

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

  • swift 代理的使用

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

  • Swift协议+代理

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

  • 代理模式

    swift中代理的使用1.首先定义一份协议。 2.定义一个代理属性//声明代理属性 使用的时候,首先加上 4.并且...

  • #发现swift3.0# 关于UIImagePickerCont

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

  • Swift的安装与管理

    一、Swift的安装 安装目标,使用Keystone替代swift内置的认证节点,配套代理节点与存储节点提供存储服...

  • Swift3.0 Delegate和Block的实现

    Swift3.0 中代理的使用方法一、声明协议1.制定协议 2.用weak定义代理 3.判断代理是否存在,让代理去...

网友评论

      本文标题:swift 代理的使用

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