0

現在、コードをARCに変換するのに忙しく、ローカル変数の使用で少し問題が発生しました。それらはコンパイラーがそれらを必要とすると考える限りメモリに保持されるだけなので、通常、それらは最後のメソッド呼び出しの後に解放されます。

残念ながら、私のアプリケーションには、UIButtonなどのカスタムのものを含むHUDが含まれています。それらのセレクターはHUD自体を指しているため、コントローラーがインスタンス化された後に解放されたため、常にEXC_BAD_ACCESSを取得します。

クラスヘッダーにインスタンス変数を作成する以外に、これに対する解決策はありますか?

4

1 に答える 1

2

ヘッダーにiVarを配置するのと実際には同じですが、UIButtonを保持できるプロパティを定義するプライベートカテゴリを.mファイルの先頭に作成することで、少なくとも物事をよりクリーンに保つことができます。

@interface MyClass ()
@property (nonatomic, retain) UIButton *myButton;
@end

@implementation MyClass
@synthesize myButton;

....

self.myButton = thingThatisHoldingYourButton;

// Now for the block
于 2011-07-22T18:38:06.253 に答える