【发布时间】:2016-06-30 16:26:43
【问题描述】:
我正试图在窗口关闭时触发我的 CoreData 的保存,因为它只是一个单一的窗口应用程序。
我的 viewDidLoad 和 viewDidAppear 中有以下代码
override func viewDidLoad() {
super.viewDidLoad()
if windowShouldClose(self) {
saveValues()
}
}
override func viewDidAppear() {
super.viewDidAppear()
self.view.window?.delegate = self
}
但我仍然收到以下错误
Use of unresolved identifier 'windowShouldClose'
关于为什么在将窗口委托声明为 self 后我仍然收到此错误的任何建议?
【问题讨论】:
-
“windowShouldCLose”中的大“L”是这里还是您的代码中的错字?
-
只是一个错字,我的错!
-
永远不要自己调用代理方法,包括
will、did和should。它们由操作系统调用。实现委托方法并将您的代码放在那里。 -
所以如果我想在关闭窗口时发生一些事情,这是不可能的吗?
-
@chrono 如果您希望在关闭窗口时发生某些事情,请将您的代码放入适当的委托方法中。为什么要在加载视图时调用 windowShouldClose?从框架的角度来看没有任何意义。