删除的UIImageView在我的应用程序,当用户触摸屏幕时,我把一个UIImageView
在屏幕上是这样的:从它的父
- (void) drawPoint:(CGPoint) toLocation {
UIImageView *image = [[UIImageView alloc] initWithFrame:CGRectMake(toLocation.x, toLocation.y, SIZE_X, SIZE_Y)];
image.tag = 1;
[image setImage:[UIImage imageNamed:@"point.png"]];
[self.myView addSubview:image];
[image release];
}
这里MyView
是UIView
。
当用户完成感人,我想删除我的UIImageView
。我曾经尝试这样做:
- (void) removeFromPoint:(CGPoint) location{
UIImageView *image;
[[image viewWithTag:1] removeFromSuperview];
}
或
- (void) removeFromPoint:(CGPoint) location{
UIImageView *image = (UIImageView *)[self.MyView viewWithTag:1];
[image removeFromSuperview];
}
但他们两人在EXC_BAD_ACCESS结束。 你知道我该怎么做到这一点?
谢谢。
告诉我们MyView的财产 – 2011-02-06 17:53:16
的声明是什么调用堆栈看,当你`EXC_BAD_ACCESS`什么样的?你可以在GDB中看到它,它会告诉你谁试图在其销毁后访问一个对象。 – 2011-02-06 17:54:13
在第一个块中接收到一个'EXC_BAD_ACCES`不应该感到惊讶:您正在向`removeFromPoint:`中的未初始化对象发送消息。你的图像变量只包含一些垃圾,你不能发送任何东西!在你的第二部分代码中,我想你可能犯了一个错字:`self.MyView`应该是`self.myView`。 – v1Axvw 2011-02-06 20:00:09