私はNSDateFormatter
オブジェクトを(複数の目的に合わせてカスタマイズされています)複数回使用しています。私はobjcの専門家ではないので、私はそれに対処するために3つの異なるアプローチを考え出しました。+(void)内のalloc-initオブジェクトを複数回再利用するメソッドを初期化します
最初は、NSDateFormatter
カテゴリを作成し、そのコードをカスタマイズしました。これは一般的なアプローチですが、そのようなオブジェクトを作成するたびに、これはメインの自動解放プールに置かれます。この現象は、非ARCコードとARCコードの両方で有効であると私は考える。
代わりに、+(void)initialize
メソッドをオーバーライドし、そこでカスタマイズコードを配置しました。ここでは簡単な例:
static NSDateFormatter* dateFormatter = nil;
+(void)initialize
{
dateFormatter = [[NSDateFormatter alloc] init];
// other code here
}
最後に、私は次のようなプロパティを使用して遅延ロードのインスタンスを使用して第三のアプローチを設定します。
-(NSDateFormatter)dateFormatter
{
if(dateFormatter) return dateFormatter;
// alloc-init here
}
は、私が何であるかのアプローチ知っていただきたいと思い、これを言っこの方法で+(void)initialize
を使用すると、オブジェクトを複数回処理するのに最適です。
ありがとうございます。
私は第2または第3の方法が好きであり、すべてのアプローチが私にとって適切であるようです。 – trojanfoe
@trojanfoe +1。ご意見ありがとうございます。あなたのサポートのために –