如何快速初始化闭包变量?

时间:2020-02-11 06:15:07

标签: swift swiftui

这是我的主要结构。并且我试图在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)
            }
        }
    }
}

1 个答案:

答案 0 :(得分:1)

您可以将var default = new NSUserDefaults ("group.com.myapp.AppName", NSUserDefaultsType.SuiteName); var key = default.StringForKey ("TestKey"); string value = key; 变量初始化为

closure