在“deinit”方法中没有遇到断点的话题。解决方案是将可执行代码放入其中。试过 - 没用。
从第一个窗口发起ViewController
的代码:
let vc = self.storyboard?.instantiateController(withIdentifier: "testwindow") as! NSViewController
self.presentViewControllerAsModalWindow(vc)
它打开一个新窗口,其中包含一个按钮,单击
调用以下代码 dismissViewController(self)
这是带断点的deinit代码。
方案中未启用僵尸对象。
如果再次出现弹出窗口时重新使用了viewcontroller,那么这不会有问题,但每次都会创建视图控制器的新实例。
有什么可以确保对象被破坏吗?
答案 0 :(得分:1)
Apple关于解除使用presentViewControllerAsModalWindow()
状态的控制器的文档"要关闭模态窗口,请在self(显示视图控制器)上调用dismissViewController(_ :)方法。 #34 ;.因此,您可能会从呈现的控制器本身中解除所呈现的控制器。从呈现视图控制器调用dismiss将有所帮助。