gpt4 book ai didi

iphone - 在 loadView 中访问 self.view.frame 导致 EXC_BAD_ACCESS 崩溃

转载 作者:技术小花猫 更新时间:2023-10-29 11:17:13 24 4
gpt4 key购买 nike

我在 View Controller 中有以下内容(其中 webViewUIWebView 类型的实例变量):

- (void)loadView
{
webView = [[UIWebView alloc]initWithFrame:self.view.frame];
[self.view addSubview:webView];
}

第一行,分配 web View ,导致崩溃——我在控制台中得到 EXC_BAD_ACCESS 和一条消息:

Warning: Unable to restore previously selected frame

我不明白是什么导致了崩溃; self.view.frame 绝对是一个 CGRect

最佳答案

你不能在loadView中使用self.view accessor,你只能使用setter。原因是 UIViewController 中的 view 访问器方法加载了 View (如果它尚未加载),并且由于您已经在 loadView 中(加载 View ),它将导致无限递归循环。

如果您遵循 loadView from this answer 的模式你会想这样做:

webView = [[UIWebView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];
self.view = webView;
[webView release]; // don't forget to release

关于iphone - 在 loadView 中访问 self.view.frame 导致 EXC_BAD_ACCESS 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7134483/

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