• <bdo id="2geeg"><optgroup id="2geeg"></optgroup></bdo>
    <rt id="2geeg"><optgroup id="2geeg"></optgroup></rt><kbd id="2geeg"><tr id="2geeg"></tr></kbd>
    <sup id="2geeg"><optgroup id="2geeg"></optgroup></sup><optgroup id="2geeg"><acronym id="2geeg"></acronym></optgroup>
    <input id="2geeg"><samp id="2geeg"></samp></input>
  • <rt id="2geeg"><optgroup id="2geeg"></optgroup></rt>

    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秒后执行这里
    }
    
    相关文章
    惠泽社群高手论坛3 英德市| 周口市| 台南市| 新兴县| 宁强县| 广南县| 濉溪县| 岳池县| 武乡县| 巫山县| 从江县| 邛崃市| 迁西县| 稻城县| 苏尼特右旗| 诸城市| 双流县| 望城县| 泾源县| 句容市| 安乡县| 弥渡县| 文化| 特克斯县| 泰安市| 益阳市| 石棉县| 象山县| 忻城县| 丹棱县| 唐海县| 文昌市| 台中市| 东丰县| 萍乡市| 衡阳县| 丹凤县| 康马县| 乡宁县| 鹰潭市| 阳江市| 锦屏县| 金乡县| 古浪县| 都匀市| 安陆市| 五大连池市| 随州市| 渝北区| 甘南县| 昌江| 巴东县| 疏附县| 洛宁县| 通州区| 多伦县| 乐安县| 石林| 赤峰市| 湛江市| 和林格尔县| 镇原县| 综艺| 苍溪县| 青阳县| 房山区| 榕江县| 昌宁县| 贵南县| 万宁市| 大关县| 长春市| 株洲市| 牙克石市| 古蔺县| 清河县| 新兴县| 仁布县| 莱州市| 林州市| 定兴县| 宁明县| 万山特区| 韶山市| 乐安县| 平阳县| 太白县| http://3g.gwilll888.com http://www.gwzipl888.com http://www.htowerr888.com http://www.flserveo888.com http://3g.gwantl888.com http://htravelr888.com http://gwhitel888.com http://m.hstorer888.com http://hwillr888.com http://3g.hsiter888.com http://3g.flslowo888.com