我正在编写一个 Cocoa 应用程序。一个对话框有 3 个标签,有些标签需要更多的加载时间,所以我想懒惰地加载它们。由于每个选项卡都是一个 NSTabViewItem 类,所以我试图从它派生并覆盖它的视图属性。在视图 getter 方法中,我使用 ViewController 加载视图并返回。在调试中,我发现 NSTabViewItem -view 方法被正确调用,但之后 NSTabView 尝试设置 Initial FirstResponder 并崩溃并显示消息:
*** 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“在 -[NSTabViewItem setInitialFirstResponder:] 中,第一响应者必须从选项卡视图项的视图下降。(项目:无效的响应者:)'
我试图覆盖 -initialFirstResponder 方法以返回我加载的视图的子视图,但它仍然在同一个地方崩溃。
有谁知道如何让它正常工作?通过派生 NSTabViewItem 也是正确的方法吗?
谢谢!-强尼