gpt4 book ai didi

ios - 为什么会出现以及如何修复 [UIView release] : message sent to deallocated instance

转载 作者:行者123 更新时间:2023-11-28 22:17:19 25 4
gpt4 key购买 nike

我从这里为这个菜单使用了 Storyboard。

enter image description here

一切正常,但我必须将 UIViewController 初始化并阻止它崩溃,它将显示在异常下方

 -[UIView release]: message sent to deallocated instance 0x1b343c30

我搜索了 google 和 stackOverflow 但没有得到解决方案和更多信息

代码

     __typeof (self) __weak weakSelf = self;
REMenuItem *homeItem = [[REMenuItem alloc] initWithTitle:@"NEW" subtitle:@"Return to Home Screen" image:[UIImage imageNamed:@"Icon_Home"] highlightedImage:nil action:^(REMenuItem *item) {
NSLog(@"Item: %@", item);


MasterViewController *controller = [[MasterViewController alloc]init];

[weakSelf.navigationController pushViewController:controller animated:YES];

}];

为什么会出现这种情况如何解决

最佳答案

不可能从您发布的代码中确定(您没有说您是否使用 ARC,或者在使用僵尸时显示调用堆栈),但是如果您的所有菜单操作看起来像这样,您将在导航 Controller 上构建大量 View Controller ,这将导致高内存使用。根据您的其余代码,这可能会导致某些 View 被释放,然后在其他地方发布。

您的菜单操作代码可能应该安装相关的 View Controller 作为导航堆栈的 Root View Controller ,而不是简单地推送它。

为了帮助追踪有问题的对象是什么以及它是在哪里创建的,您可以使用 Zombies 工具。当你的应用程序崩溃时,打开右侧的细节检查器,它会告诉你 View 是什么,它是用什么方法创建的等等。这在跟踪这些类型的错误时非常有帮助。

关于ios - 为什么会出现以及如何修复 [UIView release] : message sent to deallocated instance,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21326792/

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