【发布时间】:2019-08-25 03:34:00
【问题描述】:
我正在像这样在情节提要中创建一个弹出式样式视图控制器
然后我点击按钮,视图控制器显示,当我点击外面的任何地方时,视图控制器被“关闭”。
但是,当我再次单击该按钮时,视图控制器的新实例已启动,而前一个实例仍在运行。我试过deinit,但是当视图控制器被“解雇”时它没有被调用。
如何在外部单击时销毁视图控制器实例,或“显示”已创建的实例?
我在视图控制器中的代码:
class FileTransViewController: NSViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do view setup here.
timer = Timer.scheduledTimer(timeInterval: 0.25, target: self, selector: #selector(updateProgress), userInfo: nil, repeats: true)
//print(123)
print("\(self)")
}
deinit {
print("destroyed")
if let timer = timer {
timer.invalidate()
}
}
@objc func updateProgress() {
print("updating progress")
}
}
【问题讨论】:
标签: swift macos segue popover nsviewcontroller