0

在启动时,我的 macOS 应用程序会显示一个 NSTabViewController,其中包含大约 10 个选项卡。我注意到 viewDidLoad() 函数在启动时在所有这些视图控制器中运行。

但苹果文档说:

选项卡视图控制器延迟加载与每个子视图控制器关联的视图,仅在选择相应选项卡后创建它们。首次显示选项卡视图控制器的视图时,仅加载最初选择的选项卡的视图。

这样,只有第一个(选定的)视图控制器应该调用 viewDidLoad()。那么为什么所有子视图控制器的 viewDidLoad() 都会在启动时被调用?

自然,如果我在所有选项卡中将 viewDidLoad() 替换为 viewWillAppear() 函数,它们只会在切换到特定选项卡时被调用。

一件具体的事情是我使用 Realm,并且每个子视图控制器中都有“import RealmSwift”。这可能是一个原因吗?

4

0 回答 0