removeAllObject程序崩溃
NSMutableArray *array //有54个图片
-(void) clearsome
{
int i;
UIImageView *image;
for(i=0;i<54;i++)
{
image=[array objectAtIndex:i];
[image removeFromSuperview];
[image release];
image =nil; //可有可无吧?
}
[array removeAllObjects]; //为什么运行到这就崩溃了。找了很久都没找到原因
[array release];
}
[解决办法]
array中存储的是指针,这些imageview的指针是alloc出来的,当alloc的时候,指针的计数器是1,加入到array的时候,计数器就会加一,变成2,你是不是在加入后就release了一次,这个时候,计数器变成1,你这里又使用image=[array objectAtIndex:i];
[image release];
那么这个时候指针的计数器为0,调用array removeAllObjects]; 会把array中所有的指针计数器减一,那么就会崩溃了。
总之,你看一下,你在生成这些指针的时候,加入array后是不是调用代码release了?
[解决办法]
[image release];
拿掉就好