首页 > 解决方案 > NSWindowController 是否支持 encodeRestorableState()?

问题描述

对于我的生活,我无法弄清楚。我想我尽了一切努力让该encodeRestorableState(with:)方法在我的NSWindowController子类中被调用,但事实并非如此。

在花了几个小时之后,我认为它实际上可能根本不受支持。那么这段文档是什么意思呢?

在此处输入图像描述

请注意,它说使用该方法而不是覆盖/实现它。也许这就是我弄错的地方。


更新

进一步挖掘,我发现我在NSWindowController子类中创建的窗口的windowController属性设置为nil. 我想这就是窗口不告诉控制器对其状态进行编码的原因。我现在正在弄清楚为什么会这样nil

标签: cocoaappkitnswindowcontroller

解决方案


尝试调用invalidateRestorableState()您的 NSViewController/NSWindowController 子类。稍后encodeRestorableState(with:)将调用。


推荐阅读