gpt4 book ai didi

objective-c - 重用从文件读取的代码仅在第二类中导致 EXC_BAD_ACCESS

转载 作者:行者123 更新时间:2023-12-03 16:58:59 26 4
gpt4 key购买 nike

我在两个不同的文件中使用此代码,从文本文件中的文本字符串填充 categories 数组,其中条目由双竖线分隔。

在第一个文件中,我的 appViewController 类,一切都很好。在第二个 popoverViewController 中,程序在 arrayWithArray: 行上使用 EXC_BAD_ACCESS 进行轰炸。两个接口(interface)文件中的 categoriestempArraydiskfiletextFromFile 声明是相同的。

NSLog 跟踪器和断点确认变量的值直到最后一个致命行都是相同的。弹出窗口包含一个选择器,因此选择器委托(delegate)和数据源协议(protocol)已就位。这是唯一的区别。谁能解释一下可能发生了什么?

categories=[[NSMutableArray alloc] init];

tempArray = [[NSMutableArray alloc] init] ;

NSMutableString *textFromFile=[[NSString alloc] init];

NSString *filePath = [[NSBundle mainBundle] pathForResource: @"Categories" ofType: @"txt"];

if (filePath) {
textFromFile = [NSString stringWithContentsOfFile:filePath];

categories=[NSMutableArray arrayWithArray:[textFromFile componentsSeparatedByString: @"||"]];
}

最佳答案

设置NSZombieEnabled , MallocStackLogging ,和guard malloc在调试器中。然后,当您的应用程序崩溃时,在 gdb 控制台中输入以下内容:

(gdb) info malloc-history 0x543216

0x543216 替换为导致崩溃的对象的地址,您将获得更有用的堆栈跟踪,它应该可以帮助您查明代码中导致问题的确切行.

See this article for more detailed instructions.

关于objective-c - 重用从文件读取的代码仅在第二类中导致 EXC_BAD_ACCESS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8246538/

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