我有经由故事板赛格瑞编程出现一个二次的ViewController:夫特dismissViewController从Segue公司 - MACOS
func actioncall()
{
performSegue(withIdentifier: "showIgnoreVC", sender: self)
}
)
此功能是主视图控制器的一部分,并且经由NSNotification从称为AppDelegate,然后由菜单项点击触发。
然而,即使SEGUE被连接到主的ViewController,下面的代码不关闭该次视图:
@IBAction func dismiss(_ sender: Any)
{
print("Hello? Gonna close?")
self.presenting?.dismissViewController(self)
}
没有错误,则该函数在所述正确称为辞退按钮点击,但次要视图不会消除。我试过dismissViewController的每一个变种都无济于事。
当我在主视图上使用一个按钮来激活相同的segue时,一切都按照它应有的方式工作。我只是不希望用一堆按钮来混淆主视图。
任何想法表示赞赏,非常感谢。
当这条线'self.presenting?.dismissViewController(self)'执行,'self.presenting'的值是什么? –
@DaveWeston,好问题。使用'let x = self.presenting!作为NSViewController',应用程序崩溃**致命错误:意外地发现零,同时解开可选值**。显然没有viewController呈现。 –