“EXC_BAD_ACCESS”我该如何解决这个问题?
问题描述:
我想要做的按钮CLCK以下的事情:“EXC_BAD_ACCESS”我该如何解决这个问题?
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
if (buttonIndex == 0)
{
if (QuestionMutableArray==nil) {
[self testIterator];
}
else
{
[myMutableArray release];
[myDictionary release];
[self dismissModalViewControllerAnimated:YES];
//[self release];
}
}
}
这段代码可以追溯到parentView控制器......当我再次来此的tableView后,我想重装我的tableView新的NSMutableArray。如何用dismissModalViewController清空我的集合(NSMutableArray或字典)?
答
不要释放它使对象nil
。
答
使用方法。
答
当您尝试访问已释放的内存时,出现EXC_BAD_ACCESS错误。也许你试图在释放它们之后访问数组或字典。相反,请从数组或字典中删除对象。
答
EXC_BAD_ACCESS通常来自两方面的原因:
- 字符串不是开始 '@' 符号和
- 可怜的内存管理。
在你的情况下,我假设你释放数组和字典,但是你没有正确初始化。确保在每次使用之前对它们进行了适当的初始化,并保持保留,直到完成它们。这也可能是由于在界面构建器上玩游戏引起的:我记得多次连接一个IBOutlet并确定该名称没有任何意义,并重命名该属性。每次连接之后,xcode会自动在dealloc方法中放入一个release语句,如果属性已经释放两次,您可能还想在那里查看是否在该视图控制器中使用了IB。
- (无效)alertView:(UIAlertView中*)alertView clickedButtonAtIndex:(NSInteger的)buttonIndex { 如果(buttonIndex == 0){ \t \t \t \t [自dismissModalViewControllerAnimated:YES]; \t \t \t \t \t [QuestionMutableArray removeAllObjects]; \t \t \t \t XmlManipulatorObject = [[xmlManipulator alloc] init]; \t \t QuestionMutableArray = [[XmlManipulatorObject ReadXml] retain]; \t \t [self.tableView release]; \t \t \t \t }}我照你说的从Array.But删除所有对象我不是刚刚从那里我来到back.What可能是解决让我List.It的加载新的数据已经试过? – 2011-04-27 19:21:32