3

我正在努力在我以前的 Snow Leopard 应用程序中实施 Resume。对于我的应用程序的主窗口,我选中了RestorableInterface Builder 中的复选框,一切正常。它的代表已经调用了它-window:willEncodeRestorableState:state-window:didDecodeRestorableState:很好。一切正常。

我有另一个窗口,当用户退出时,它有时也会打开。我检查Restorable了它,并实现了上面的两种方法。..willEncode..当我在窗口打开的情况下退出时..didDecode..被调用,但从未被调用,并且窗口不会被恢复。我已经阅读了文档,似乎我可能想要创建一个restore class,但是文档并没有特别清楚地说明如何这样做。

我尝试<NSWindowRestoration>在我的 AppDelegate 和第二个可恢复窗口的委托中实现该协议,但+restoreWindowWithIdentifier:state:completionHandler:从未为它们中的任何一个调用该方法。

我错过了什么?我是否在正确的轨道上,NSWindowRestoration但做得不对?文档谈论恢复课程的方式,听起来好像只有一个。我需要在应用程序的 plist 中指定它吗?

4

1 回答 1

1

上面链接的简历文档没有提到的是NSWindow'-restorationClass属性。如果您在代码中设置此属性(设置为实现 的类<NSWindowRestoration>,则该类负责创建窗口。

于 2011-12-27T16:09:48.927 回答