我有一个表视图,当点击一个按钮时,我想切换场景并用它解析一个对象。
我的代码如下所示:
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let selectedPreset = presets[indexPath.row]
let destinationVC = Display_ExercisePreset_ViewController()
destinationVC.preset = selectedPreset
destinationVC.performSegue(withIdentifier: "displayPreset", sender: self)
}
我收到错误:
由于未捕获的异常终止应用程序' NSInvalidArgumentException',原因:' Receiver(< TrainingsLog.Display_ExercisePreset_ViewController:0x7fe2716243b0>)没有带标识符的segue' displayPreset'&# 39;
这显然说我的目标ViewController没有segue。我想我必须从我的起始VC到我的目标VC制作一个segue并命名它。这就是我所做的。 [self.performSegue(withIdentifier: "displayPreset", sender: self)]
也有效。
答案 0 :(得分:0)
1 -
self.performSegue(withIdentifier: "displayPreset", sender: selectedPreset)
2 -
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "displayPreset" ,
let nextScene = segue.destination as! nextVC {
nextScene.displayPreset = sender as! typeOfDisplayPreset
}
}
}
答案 1 :(得分:-1)
如果有人关心,这里的代码对我有用:
for _, item in ipairs(buttons) do
if item.bLoadingEnter ~= nil then
return item.bLoadingEnter
end
end
不是很漂亮,因为我为所选的Preset使用了一个globale变量,但我找到了一个更好的解决方案