相当于可可的“loadViewIfNeeded”?

问题描述 投票:0回答:4

我正在 AppKit 上寻找 UIKit 的

loadViewIfNeeded
的等效功能。 (这是为了以编程方式填充网点)。

谢谢你

cocoa appkit
4个回答
1
投票

您只需参考

NSViewController
上的视图即可。由于您没有指定语言,我将在 Objective-C 中给出答案:

(void)viewController.view;

和斯威夫特:

_ = viewController.view

0
投票

只需查询

view
上的
NSViewController
属性即可。

换句话说,等效的实现就是:

// Swift
func loadViewIfNeeded() {
    _ = self.view
}
// Obj-C
- (void)loadViewIfNeeded {
   (void)self.view;
}

我不建议添加这个抽象,因为这是可以理解的 Cocoa 约定。在我看来,如果您尝试强制加载视图,通常是代码味道。您的视图应该能够根据代表它的模型来渲染自身。


0
投票

NSViewController
有名为
-[NSViewController _loadViewIfRequired]
的私有方法,可能相当于
loadViewIfNeeded


0
投票

Apple 在 macOS Sonoma 14.0+ 中引入了

loadViewIfNeeded()
API,但没有 文档

© www.soinside.com 2019 - 2024. All rights reserved.