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)
?
答案 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}}