私は長年のJava開発の後にObjective-Cでプログラミングを始めています。私が少し苦労している1つの問題は、メモリ管理です。特に、書籍やオンラインのほとんどの例では、例外によってメモリリークが考慮されていないようです。たとえば、次の方法を検討してください。@finally節に[pool drain]を入れる必要がありますか?
メモリリークの可能性を防ぐために、上記のように書き換えないでください。
-(void) doSomething
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc]init];
@try {
// Allocate some autoreleased objects here
NSString *data = [NSString [email protected]"Hello"];
// Do some work, exception could be thrown
[PotentialExeptionThrower maybeThrowException];
} @finally {
// Clean up autorelease objects
[pool drain];
}
}
上記のコードは、@ try- @ catchのために効率が悪いですか?
ありがとうございます!
おかげで、私はあなたのブログの記事が非常に役に立ちました。あなたはJavaの背景について正しいです。例外処理は、Objective-Cコードを@try @catch @finallyで埋めるJavaプログラミングの不可欠な部分です。私は今正しいパターンをgrokし始めている。 –