swift 中闭包的写法与使用

swift 中闭包的写法与使用

1没有参数没有返回值得情况

    let b1 = {
        print("闭包")
    }
    b1()

2没有参数,有返回值的情况 ,

    let b2  = {
      () -> (Int)  in
        return 123
    }
    print(b2())

3有参数 没有返回值 要用in 隔开

    let block = {
        (num : Int) in
        print("输入了\(num)")
    }

    block(123)

4有参数 有返回值的情况 要用 in 隔开

    let b4 = {
        (intNum : Int) -> (Int) in
        return intNum
    }

懒加载的写法

lazy var aba : UILabel = {

    let label = UILabel(frame: CGRect(x: 0, y: 0, width: 120, height: 123))

    label.text = "label"

    label.textColor = UIColor.red

    return label

}()

网络请求

func loadData ()  {

    DispatchQueue.global().async {

        // 拿到数据

        print("当前线程\(Thread.current)")

        // 回到主线程

        DispatchQueue.main.async(execute: {

          print("当前线程\(Thread.current)")

        })

    }

}

你可能感兴趣的:(swift 中闭包的写法与使用)