2011-07-01 14 views
1

私はxcodeに問題があります。私のイメージ(image1)がimage2と衝突するとき、removefromsuperviewで削除したいのですが、私のアプリケーションを実行すると "EXC_BAD_ACCESS"というエラーがあります。 。私はこの問題を解決するにはどうすればよいremovefromsuperviewする私の英語のため申し訳ありませんが、私はフランス人だ:?/問題 "EXC_BAD_ACCESS with" removeFromSuperView

答えて

3

これは、あなたが存在しない場合、または以前にリリースされたremoveFromSuperViewを呼び出しているオブジェクトを意味

必ず送信していることを確認します。メッセージを有効なオブジェクトに転送します。

+3

オブジェクトが有効であることを確認するにはどうすればよいですか? – tasomaniac

3

EXC_BAD_ACCESSは、オブジェクトを使用していることを意味します。リリースされました。 Xcodeのアナライザ(CMD + A)を使用して、NSZombieEnabledフラグを使用してデバッガの場所または使用方法を確認します。

あなたは私が、フランス語でこれを書いコメントし、私が翻訳しますし:)

1

たい場合は、私はスーパービューからそれを削除しようとする前に、ビューからすべてのCALayersを削除していたので、私はこれを得ました。両方ともself.layer.sublayers = nilとそれらを反復すると、問題が発生しました。ビューがプログラムでインスタンス化されたときに完全に動作しましたが、私がストーリーボードからインスタンス化したときには、明らかに私が知らなかった他のレイヤーへの弱いポインタがありました。

解決策? self.layer.sublayersのすべてのレイヤーが私のものであると仮定するのではなく、自分のすべてのレイヤーを追跡し、それらを一度に1つずつ削除しました。