から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で終わります。 これをどのように達成できますか?
ありがとうございました。
あなたは 'EXC_BAD_ACCESS'を得るときMYVIEWプロパティ –
の宣言はどのようなコールスタックがどのように見えるん私たちを見ますか?あなたはGDBでそれを見ることができ、破壊後に誰がオブジェクトにアクセスしようとしているのかを表示します。 –
最初のブロックで 'EXC_BAD_ACCES'を受け取っても驚かないでください。' removeFromPoint: 'の初期化されていないオブジェクトにメッセージを送ります。あなたの画像変数には何も送ることができないゴミが入っています! 2番目のコードブロックでは、誤植をしている可能性があります: 'self.MyView'は' self.myView'でなければなりません。 – v1Axvw