質問

によると 別のスタックオーバーフローポスト drain メッセージはAppleのみの呼び出しです:

NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSLog (@"Hello");
[pool drain];
return 0;

交換するのは安全ですか? drainrelease? Linuxで実行するためにObjective-Cアプリケーションを移植しようとしています(現時点ではUbuntu)。始める前にあきらめるべきですか? (私はすでに取得しようとしている問題を抱えています NSURLConnection 働く)

役に立ちましたか?

解決

Appleの文書から drain:

...]この方法はリリースと同じ動作をします。 [...

したがって、オートリリースプールを排出するということは、必然的にそれを扱うことを意味します。私の意見では、Appleは非難すべきです drain 混乱を引き起こすだけなので。

しかし:

特別な考慮事項:
ゴミ収集された環境で、 releaseNo-opなので、コレクターにヒントを与えたくない限り、使用することが重要です drain ごみ収集された環境用にコンパイルされる可能性のあるコードで。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top