从单元格中解析并解析对象不起作用

时间:2018-06-03 18:18:36

标签: ios swift uitableview segue

我有一个表视图,当点击一个按钮时,我想切换场景并用它解析一个对象。

我的代码如下所示:

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)]也有效。

2 个答案:

答案 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变量,但我找到了一个更好的解决方案