我们有Objective-C代码,可以在所有其他版本的iOS中正常运行,但现在却无法使用iOS5。下面是代码失败的部分,它在setSelectedCell行上以'EXC_BAD_ACCESS'停止
-(void)viewWillAppear:(BOOL)animated {
Application *app = [Application sharedManager];
[app setSelectedCell:nil deselectedCell:[menuItemTableView
cellForRowAtIndexPath:currentIndexPath]];
}
有没有人遇到过这个错误?任何想法如何解决?
谢谢!
答案 0 :(得分:4)
可能你的错误存在于过去的版本中,现在只是在iOS5中被更好地检测到了。关于EXC_BAD_ACCESS最重要的一点是,检测它的行可能与引起它的代码有关,也可能没有。
我在这里广泛地写了它:
http://loufranco.com/blog/files/Understanding-EXC_BAD_ACCESS.html
那里也有调试技巧,但总结一下
重申 - 仅仅因为你没有得到EXC_BAD_ACCESS并不意味着你没有内存崩溃的错误 - 它只是意味着它没有被虚拟内存/内存分页系统检测到。
答案 1 :(得分:0)
答案 2 :(得分:0)
如果menuItemTable已经发布但未设置为nil,则会导致应用程序崩溃并为您提供EXC_BAD_ACCESS,因为您正在向不存在且不是nil的内容发送消息。