私はに慣れていないので、ARCなしObjectivce-Cでの正しい方法は何だろうと思っていました。私のライブラリに次を返すメソッドがあるとしましょう:memory managementstatic libraryNSString*
- (NSString *) foo
{
...
NSString *result = [[NSString alloc] initWithString:@"bar"];
return [result autorelease];
}
私が理解している限りでは、foo割り当てられているので、NSStringそれを解放する(または解放するためにキューに入れる)必要もあります。NSStringは戻り値なので、私にできることはautoreleaseそれだけです。これにより問題が発生します。ライブラリがコマンドラインツールで使用されている場合、開発者は、メイン内でメモリを消費して複数回呼び出す必要があることを知るfoo必要があります。これは、メモリ管理をライブラリからアプリに委任しているように思えますが、これはひどいことのように思えます。これを行うためのより良い方法はありますか?それとも、開発者が必要としていることをどうにかして明らかにすることができますか?@autoreleasepoolfoo@autoreleasepoolfoo@autoreleasepool