专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Iphone

[super dealloc]出现EXC_BAD_ACCESS是什么原因,该怎么解决

发布时间:2010-05-30 01:22:40 文章来源:www.iduyao.cn 采编人员:星星草
[super dealloc]出现EXC_BAD_ACCESS是什么原因
主要代码是这样得:
ReportScrollView.h文件
  NumberView *scoresView;//总分数View.NumberView是自定义控件

ReportScrollView.m文件
  -(void)initData
{
   
  //加入分数
  scoresView = [[NumberView alloc]initWithFrame:CGRectMake(0,0,100,100)];
  [scoresView setNum:90];
  [self addSubview:scoresView];
}
//数据释放
-(void)dealloc
{
  if(scoresView != nil)
  [scoresView release];
  [super dealloc];
}

NumberView.m

- (void)dealloc {
  [super dealloc];//运行到这里,出现EXC_BAD_ACCESS错误,求解答,谢了!
}





------解决方案--------------------
出现这个问题一般是由过多的对一块内存调用release的原因,也就是说,当对一个内存计数器已经是0的内存再次调用release,就会出这个问题,所以,请确认scoresView是否多次释放了?专门检查release.
------解决方案--------------------
问题很有可能出自 NumberView 类
------解决方案--------------------
使用NSZombie找出重复释放对象
------解决方案--------------------
scoresView的类成员是否有多次RELEASE?
------解决方案--------------------
retainCount这个值只是理论上的,在调试过程中,经常出现不正确的现象。
------解决方案--------------------
出现EXC_BAD_ACCESS一般都是因为对象本来已经被释放了,又来了一次release
------解决方案--------------------
在ReportScrollView.m 中scoresView release的地方 后面加一个 scoresView = nil 试一试 一般在viewUnload中这么干
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: