Swift 闭包

//闭包参数类型

func hasClourseMatch(arr:[Int], value:Int, cb:(num:Int , value:Int) -> Bool)  -> Bool{

    

    

    for item in arr{

        

        //只是调用cb 闭包closure里面的函数,不管如何实现。

        //类似于OCblocks c里面的Function Pointer

        if (cb(num: item , value:value)){

            return true;

        }

        

    }

    

    return false;

    

}





/闭包就是用在两个对象之间通讯。



var arr = [20,9,100,34,89,38];


//closure类似于OCblocks

//closure =~ Delegate

//找是否arr里面比40大的数

var v1 = hasClourseMatch(arr,value: 40,cb: {

    

    

    (num:Int,value:Int) -> Bool in

    return num >= value;

    

    

    }

);


print("v1 is \(v1)");



var v2 = hasClourseMatch(arr, value: 50) { (num, value) -> Bool in

    

    return num < value;

    

};



print("v1 is \(v2)");





var v3 = hasClourseMatch(arr, value: 10) {

//    (num, value) -> Bool in

  

    return $0 < $1;

    

};



print("v3 is \(v3)");



var v4 = hasClourseMatch(arr, value: 90) {

//    (num, value) -> Bool in

    return $0 > $1;

    

}



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值