[英]How to initialise closure variable in swift?
这是我的主要结构。 并且我试图在 listView 选择和项目时收到回电。
struct Home: View {
@State var selectdItem : Int = 0
var body: some View {
VStack{
listView(onselecteditem: {selectdItem in
self.selectdItem = selectdItem
})
resultView(selectedItem: self.$selectdItem)
}
}
}
我想在这个结构中的 init 中初始化我的闭包变量。 它在没有init的情况下工作,但我必须使用init。
struct listView : View
{
var onSelectedItem : (Int) -> Void
init(onselecteditem : (Int) -> Void) {
// I would like to initialise onSelected closure variable here.
}
var body : some View
{
List(1..<10)
{
item in
Text("Item \(item)").onTapGesture {
self.onSelectedItem(item)
}
}
}
}
您可以将closure
变量初始化为,
init(onselecteditem : @escaping (Int) -> Void) {
self.onSelectedItem = onselecteditem
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.