ios-初识swift(三)

ios-初识swift(三)

本次要写的是有关于闭包的简单用法以及swift 4.0的模拟异步加载网络数据,完成回调

闭包(一切理解皆在代码中)

//闭包
    func closer(){
        /**
         1.闭包的所有代码【参数 返回值 执行代码】都放在{}中
         2.in 是用来区分函数定义和执行代码
         */
        let sumFunc = {
            (x:Int,y:Int) -> Int
            in
            return x+y
        }
        print(sumFunc(23,23))
        //简单闭包,无参数无返回值
        let simpleCloser={
            print("hello")
        }
        simpleCloser()
    }

异步加载网络数据,完成回调

先写主函数的调用方法:

//尾随闭包
        loadData { (html) in
            print("完成回调\(html)")
        }


再写主方法:
//异步加载网络数据,完成回调
    func loadData(finished:@escaping (_ html:String) -> ()){
        DispatchQueue.global().async {
            print("耗时操作\(Thread.current)")
            //通常加载数据

            //异步完成之后,通过block回调
            DispatchQueue.main.async(execute:{
                print("更新UI的线程\(Thread.current)")
                finished("<html></html>")
            })
        }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值