我正在创建一个显示用户评论的应用程序。用户输入评论,然后单击提交按钮,然后应出现警报操作视图。单击警报视图中的“确定”按钮时,我试图将用户定向到我的fourthviewcontroller。这是我的代码,应该可以正常工作。

let alert = UIAlertController(title: "Succesful", message: "Successfully added!", preferredStyle: .alert)
alert.addAction(UIAlertAction(title: "OK", style: .default, handler: { _ in
let uivc = self.storyboard!.instantiateViewController(withIdentifier: "ViewController")
    self.navigationController!.pushViewController(uivc, animated: true)
 }))
 self.present(alert, animated: true)


但是,单击“确定”按钮时出现此错误。

'InvalidPathValidation',原因:'((child :)必须为非空字符串,并且不包含'。' '#''$''['或']''

根据用户在过去三个视图控制器上的选择来创建FourthViewController。根据在先前视图控制器中单击的表视图单元的组合,有一个唯一的fourviewviewcontroller。我相信会出现问题是因为当我将用户定向到FourthViewController时,该应用程序不知道FourthViewController包含的内容,因为之前没有单击任何表格视图单元格。当我将VC的方向从FourthViewController更改为FirstViewController时,一切都变得异常出色。

是否可以解决此问题?我将不胜感激!非常感谢,祝您有美好的一天!

最佳答案

如果我理解正确,FourthViewController具有一些变量,这些变量取决于以前的ViewController。在那种情况下,只需初始化这些变量并设置其值即可:uivc.varName = value

您也可以执行segue而不是实例化视图控制器,并且可以在prepare函数中设置nextViewController的值。

关于ios - swift 警报 Action 处理程序不适用于特定情况,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52199327/

10-12 14:31