gnustep nsautoreleasepoolの非互換性
-
18-09-2019 - |
質問
によると 別のスタックオーバーフローポスト drain
メッセージはAppleのみの呼び出しです:
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSLog (@"Hello");
[pool drain];
return 0;
交換するのは安全ですか? drain
と release
? Linuxで実行するためにObjective-Cアプリケーションを移植しようとしています(現時点ではUbuntu)。始める前にあきらめるべきですか? (私はすでに取得しようとしている問題を抱えています NSURLConnection
働く)
解決
Appleの文書から drain
:
...]この方法はリリースと同じ動作をします。 [...
したがって、オートリリースプールを排出するということは、必然的にそれを扱うことを意味します。私の意見では、Appleは非難すべきです drain
混乱を引き起こすだけなので。
しかし:
特別な考慮事項:
ゴミ収集された環境で、release
No-opなので、コレクターにヒントを与えたくない限り、使用することが重要ですdrain
ごみ収集された環境用にコンパイルされる可能性のあるコードで。
所属していません StackOverflow