gpt4 book ai didi

ios - 多次调用loadview方法

转载 作者:行者123 更新时间:2023-12-01 17:54:29 24 4
gpt4 key购买 nike

我以编程方式创建我的 View 。如果我不放loadView方法,应用程序运行良好。但是,当我添加 loadView像这样的方法:

- (void)loadView
{
NSLog(@"loadView is called");
}

我发现这个方法被调用了很多次!最后,应用程序崩溃了。

我想知道为什么 loadView方法被调用了很多次。

任何人都可以帮忙吗?
非常感谢!

最佳答案

loadView预计会在某个时候填充view View Controller 的属性。 view 属性被延迟加载(查看调用堆栈,您将看到一个名为 _loadViewIfNeeded 的方法)。

如果 loadView不创建 View ,则每次 .view属性被访问, View Controller 将调用 loadView再次尝试延迟加载 View 。在某些时候一切都会出错,因为 View Controller 需要一个 View 。如果您从自定义 loadView 中访问 self.view,您将获得一个无限循环。

从文档中:

You can override this method in order to create your views manually. If you choose to do so, assign the root view of your view hierarchy to the view property. The views you create should be unique instances and should not be shared with any other view controller object. Your custom implementation of this method should not call super.

关于ios - 多次调用loadview方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20631565/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com