快速关闭作为一个论点困扰我

时间:2015-05-01 13:25:09

标签: swift

func compare(arr:[Int],value:Int ,cb:(Num:Int , Value:Int)->Bool) -> Bool {
    for item in arr{
        if(cb(item, value)){
            return true
        }

    }
    return false
}

,错误如下:

  

在通话中缺少参数标签'Num:Value'

func compare(arr:[Int],value:Int ,cb:(Num:Int , Value:Int)->Bool) -> Bool {
    for item in arr{
        if(cb(Num: item, Value: value)){
            return true
        }

    }
    return false
}

var v1 = compare([40,53,98,1], 1000, { (num:Int, value:Int) -> Bool in
    return num > value
})

为什么使用我需要使用(Num: item, Value: value)代替(item, value)

1 个答案:

答案 0 :(得分:0)

这就是为什么你将参数标签指定为Num和Value。

如果您不想使用参数标签,则不能指定标签。

override    func
viewDidLoad() {
    super.viewDidLoad()

    var v1 = compare(
        [ 40, 53, 98, 1 ]
    ,   1000
    ) { ( num, value ) -> Bool in
        return num > value
    }
}

func
compare( arr: [ Int ], _ value: Int, cb: ( Int, Int ) -> Bool ) -> Bool {
    for item in arr {
        if( cb( item, value ) ) {
            return true
        }
    }
    return false
}

你也可以使用' _'隐藏价值'比较功能的标签。

{{1}}