我正在 AppKit 上寻找 UIKit 的
loadViewIfNeeded
的等效功能。 (这是为了以编程方式填充网点)。
谢谢你
您只需参考
NSViewController
上的视图即可。由于您没有指定语言,我将在 Objective-C 中给出答案:
(void)viewController.view;
和斯威夫特:
_ = viewController.view
只需查询
view
上的 NSViewController
属性即可。
换句话说,等效的实现就是:
// Swift
func loadViewIfNeeded() {
_ = self.view
}
// Obj-C
- (void)loadViewIfNeeded {
(void)self.view;
}
我不建议添加这个抽象,因为这是可以理解的 Cocoa 约定。在我看来,如果您尝试强制加载视图,通常是代码味道。您的视图应该能够根据代表它的模型来渲染自身。
NSViewController
有名为 -[NSViewController _loadViewIfRequired]
的私有方法,可能相当于 loadViewIfNeeded
。