我有这样的封闭物,变量:闭幕后可变
public var cellClicked: (name: String, number: Int)?
我怎样才能使尾部关闭,这样我就可以这样做:
cell.cellClicked!{
(str: String, n: Int) in
}
我有这样的封闭物,变量:闭幕后可变
public var cellClicked: (name: String, number: Int)?
我怎样才能使尾部关闭,这样我就可以这样做:
cell.cellClicked!{
(str: String, n: Int) in
}
声明了什么是tuple
不closure
,如果你想让闭包声明像这样。
public var cellClicked: ((String,Int) ->())?
并拨打电话这样
cell.cellClicked = { (name, value) in
}
现在工作吗? –
SWIFT 3.0 试试这个。
public var cellClicked = (String, Int) -> Void
cell.cellClicked = {(str,n) in
}
你确定'public var cellClicked =(String,Int) - > Void'会编译时没有任何错误吗?因为它不在我的'Xcode 8.2.1'上编译。 –
您可以如下使用:
func myMethod(completionHandler: @escaping (_ param : type, _ param2 : type) -> Void)
说明@escaping - >https://cocoacasts.com/what-do-escaping-and-noescaping-mean-in-swift-3/
您也可以使用'公共变种cellClicked:((_名:字符串_数:Int) - > Void)?'作为元组。 –