gpt4 book ai didi

ios - 通过闭包传递 UIPickerView 行索引

转载 作者:行者123 更新时间:2023-11-30 11:58:38 24 4
gpt4 key购买 nike

我的目标是将 rowClosure 传递给另一个 View Controller ,但我只是停留在这里。我应该做什么来解决它?

View Controller 1

var rowClosure : (Int) -> (Int) = { x in return x}

func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {

self.rowClosure(row)

}

ViewController2

let vc1 = ViewController1()
var row: Int!
row = vc1.rowClosure

但是,它不起作用

最佳答案

如果你想使用闭包,你的代码应该如下所示:

VC1

var rowClosure : ((Int) -> Void)?

func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {

self.rowClosure?(row)

}

然后在 VC2 中,您获得对 VC1 的引用,并设置一个闭包,其中包含当您从 VC1 调用闭包时需要在 VC2 中执行的代码:

vc1.rowClosure = { (vc1Row) in
//do something with row, for example
vc2.row = vc1Row
}

关于ios - 通过闭包传递 UIPickerView 行索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47506351/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com