UIviewControllerサブクラスが作成された場合、メソッドdeallocが自動的に作成されます。Objective-Cクラスにdeallocメソッドを追加する必要はありますか?
- (void)dealloc{}
ただし、Objective-Cクラスを作成すると、そのメソッドは自動作成されません。クラスのプロパティを解放できるようにdeallocメソッドを追加する必要がありますか?特に私がヘッダファイルにそれらを保持していれば?例えば
私のObjective-Cクラスのヘッダーファイルで、私は
@interface ClassA : NSObject
{
NSString *someProperty;
UINavigationController *navcon;
}
@property (nonatomic, retain) NSString *someProperty;
@property (nonatomic, retain) UINavigationController *navcon;
を持って、私は手動で以下のような特性を解放するdeallocメソッドを作成する必要がありますか?
-(void)dealloc
{
[someProperty release];
[navcon release];
}
deallocメソッドで[super dealloc]の呼び出しを追加しないでください! –
ARCを使用する場合、 '[super dealloc]'を呼び出すとエラーが発生することに注意してください。コンパイラはあなたのためにそれを世話します。 – Eric