zoukankan      html  css  js  c++  java
  • swift闭包传值

    不知道原理,就知道这么用的,皮毛上的那一点。

    寻思着把以前的项目改成swift的,结果了,,,

    反向传值

    一、

    //类似于OC中的typedef

    typealias sendValueClosure=(string:String)->Void//1

    二、

     //声明一个闭包

         var myClosure:sendValueClosure?

          //下面这个方法需要传入上个界面的someFunctionThatTakesAClosure函数指针

        func initWithClosure(closure:sendValueClosure?){

            //将函数指针赋值给myClosure闭包,该闭包中涵盖了someFunctionThatTakesAClosure函数中的局部变量等的引用

            myClosure = closure     

        }

    三、在适当的时候进行赋值

     func action(cityName:String){

            //判空

       if (myClosure != nil){

                //闭包隐式调用someFunctionThatTakesAClosure函数:回调。

                myClosure!(string: cityName)

            }

        }

    第一个界面

    一、

     let second = CitysTableViewController()

            //将当前someFunctionThatTakesAClosure函数指针传到第二个界面,第二个界面的闭包拿到该函数指针后会进行回调该函数

            second.initWithClosure(someFunctionThatTakesAClosure)

    二、

     func someFunctionThatTakesAClosure(string:String) -> Void {

            cityName = string

            nameLabel.text = string

            requestData()

            self.tableView.reloadData()

        }

        

  • 相关阅读:
    异常处理机制中的return关键字
    QuickHit 项目
    kali2.0升级
    sslscan
    RC4弱密码套件检测
    CVE-2017-11882漏洞复现
    应急响应小总结
    服务器日志分析
    《x86汇编语言:从实模式到保护模式 》学习笔记之:第一次编写汇编语言
    nasm不是内部或外部命令
  • 原文地址:https://www.cnblogs.com/mudy/p/4874980.html
Copyright © 2011-2022 走看看