<p id="jnj9j"></p>

<ruby id="jnj9j"></ruby>
<ruby id="jnj9j"></ruby>
<p id="jnj9j"><dfn id="jnj9j"></dfn></p>

    <p id="jnj9j"></p>

      swift中闭包的使用

      • 闭包最最简单的写法 ,一下是格式
      {(parameters) -> return type in
         statements
      }
      

       举例

      //let append = {(str1 aa:String,Str2 bb: String)-> String in 报错,闭包没有外部参数名
      let append = {(str1:String,Str2: String)-> String in
        print("\(str1)------\(Str2)")//20------30
          return "\(str1)\(Str2)"http://2030
      }
      //print(append(str1:"20",str2:"30")) 报错,闭包里面不用传参数名
      print(append("20","30"))//2030
      

       以上等价于

      let append: ( String, String) -> String = {
          (str1, str2) in return str1 + str2
      }
      print(append("one", "two"))//onetwo
      

       

      • 如果如果无参数但是有返回值,可以这么写
      //无参有反  可以直接省略 "in"  如果加上in,这里会报错
      let test: () -> String = {
          return "test闭包"
      }
      print(test())//test闭包
      
      •  无参无返回值
      let test: () -> Void = {
          print("test闭包")//输出:test闭包
      }
      test()
      

       

      • 闭包里面不能有参数,但是无返回值,不然报错
      let test: (String) -> void = {//这里报错
          (str1) in print(str1)
      }

       

      • 闭包的延迟
      func showYouTest(testBlock: @escaping () -> Void) {
          //做一个延迟操作
          DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 5) {
              //五秒之后调用闭包
              testBlock()
          }
          print("我是函数")
      }
      
      showYouTest {
         print("11111111111111111111")//5秒后执行这里
      }
      
      相关文章
      20017年香港六合彩63集 天门市| 察隅县| 南宫市| 玉龙| 白银市| 搜索| 泸州市| 镇坪县| 都兰县| 家居| 和政县| 通道| 永宁县| 宜宾市| 宜城市| 正镶白旗| 德化县| 衡阳县| 丰原市| 阳东县| 秦皇岛市| 吉安市| 桓仁| 商南县| 三都| 湟源县| 霍林郭勒市| 永清县| 大城县| 延寿县| 乌兰浩特市| 安多县| 仁化县| 余干县| 阳春市| 锡林郭勒盟| 高台县| 汕尾市| 繁峙县| 新兴县| 商南县| 泰来县| 怀宁县| 孙吴县| 丰顺县| 怀宁县| 桐乡市| 三门峡市| 龙岩市| 高阳县| 嘉义市| 防城港市| 金堂县| 启东市| 山丹县| 上杭县| 垦利县| 布拖县| 桐庐县| 来宾市| 龙门县| 习水县| 崇州市| 嘉兴市| 铜川市| 万山特区| 射洪县| 定兴县| 赣州市| 大石桥市| 正蓝旗| 沅江市| 措勤县| 布尔津县| 北碚区| 同心县| 大名县| 阜城县| 页游| 安宁市| 资兴市| 潍坊市| 长春市| 会同县| 铁岭县| 高雄县| 蕉岭县| http://gwatchl888.com http://wap.flsito888.com http://www.htimer888.com http://www.flseparateo888.com http://www.gwvacationl888.com http://m.hsleepr888.com http://www.hskyr888.com http://www.flslideo888.com http://wap.hspreadr888.com http://www.hwillr888.com http://wap.gwvotel888.com