Ios UIPickerView将数据传递到容器视图
我在StacksOverflow上查看了一些容器视图问题,但没有一个使用picker视图将数据传递到containerview中的tableview单元格。我试过使用:Ios UIPickerView将数据传递到容器视图,ios,swift,uipickerview,Ios,Swift,Uipickerview,我在StacksOverflow上查看了一些容器视图问题,但没有一个使用picker视图将数据传递到containerview中的tableview单元格。我试过使用: func pickerView( _ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) { func prepare(for segue: UIStoryboardSegue, sender: Any?) {
func pickerView( _ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "containerSettingsSegue" {
let destination = segue.destination as! SettingsTableViewController
destination.delegate = self
destination.languageDetail.text = myPickerData[row]
}
}
}
而且
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "containerSettingsSegue" {
let destination = segue.destination as! SettingsTableViewController
destination.delegate = self
}
}
以上两个代码都在我的父视图中
然而,它不起作用。我有什么办法可以做到吗?谢谢@TBlank的回答 因此,根据他的回答,代码应如下所示: 在
SettingsViewController
中声明SettingsTableViewController
的实例,如:
var childView : SettingsTableViewController?
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "containerSettingsSegue" {
childView = segue.destination as? SettingsTableViewController
childView!.delegate = self
}
}
func pickerView( _ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
childView?.changeLabel(text: myPickerData[row])
}
现在在设置StableViewController
中声明一个方法,如下所示
func changeLabel(text: String) {
languageDetail.text = text
}
我声明了一个变量selectedRow=0,其余的如下所示,但它崩溃了..说“线程1:致命错误:隐式展开可选值时意外地发现了nil”,它崩溃在“destination.languageDetail.text=myPickerData[selectedRow]”行,在languageDetail中,崩溃在SettingStableViewer的viewdidload中,我将其设置为“English”,向您发送了特定的文件这是一个容器视图,其中嵌入了一个TableView。我已向您发送了邮件