swift--闭包


//闭包类型
(a: Int, b:Int) -> Int //有参有返回值
() -> Int //无参有返回值
(a: Int) ->() //有参无返回值

() -> () //无参无返回值



   /*

        -swift 里边的闭包跟我们oc里的block 是非常的类似
        -
是一个预先定义好的代码块
        -
可以作为函数的参数传递,也可以是函数的返回值
        -
在需要的时候调用()
        -
在使用self 的时候注意循环引用
       
闭包格式: 闭包名 = {(参数名:参数类型,..)-> 返回值类型 in 执行代码}

    */

   
   
//定义一个有参数有返回值的闭包
    func demo9(num a: Int, num1 b: Int) ->Int {
       
//闭包
        let closure = {(num a: Int, num1 b: Int) -> Int in
           
let m = a + b
           
return m
        }
       
//调用
        let result = closure(num: a, num1: b)
       
//函数的返回值
        return result
    }
   
   
//定义一个有参数有返回值的函数
    func demo7(num a: Int, num1 b: Int){
       
func demo8(num a: Int, num2 b: Int)->Int {
           
print("aa = \(a + b)")
           
return a + b
        }
     
let result = demo8(num: a, num2: b)
       
print("result =\(result)")
    }
   
   
//定义一个有参数无返回值闭包
    func demo5(){
       
       
let closure = {(num a: Int, num2 b: Int) in
           
print(a + b)
        }
       
//调用闭包
        closure(num: 2, num2: 3)
    }
   
   
//定义个有参数无返回值函数
    func demo3(num a: Int, num1 b: Int){
       
func demo4(num a: Int, num2 b: Int){
           
print(a + b)
        }
       
demo4(num: a, num2: b)
    }
   
   
//定义一个无参无返回值 的闭包
    func demo2(){
       
//无参无反闭包
        let closure = {
           
print("无参无返回值 不用in")
        }
        closure()
    }
   
   
//定义无参无返回值 函数嵌套
    func demo(){
       
func demo1(){
           
print("jaja")
        }
       
//调用
        demo1()

    }


转载于:https://my.oschina.net/kaqijiang/blog/630648

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值