私はObjective-Cを初めて使い、NSAutoreleasePoolを正しい方法で使用しているかどうかはわかりません。これはNSAutoreleasePoolを使用する正しい方法ですか?
私は、私が使用して一度だけ自動解放を使用する場合:私は、私が使用してautoreleaseを複数回使用する場合は
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; NSString *newText = [NSString stringWithFormat:@"%d", prograssAsInt]; sliderLabel.text = newText; [pool release]; //newText will be released
を:
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; NSString *newText = [NSString stringWithFormat:@"%d", prograssAsInt]; sliderLabel.text = newText; [pool drain]; //newText will be released newText = [NSString stringWithFormat:@"%d", prograssAsInt]; sliderLabel.text = newText; [pool drain]; //newText will be released newText = [NSString stringWithFormat:@"%d", prograssAsInt]; sliderLabel.text = newText; [pool release]; //newText will be released
はこれですOK?メモリリークはありますか?
私は無礼さが不当だと思います。これは文書化されていますが、実際にはドキュメントを読んだ経験のあるCocoaプログラマーから、それが何を言ったのかは分かりませんでした。私はそれがフレームワークに新しい誰かのための不合理な質問だとは思わない。 – Chuck