NSDateFormatter
オブジェクト(特定の目的のためにカスタマイズされたもの)を複数回使用しています。私はobjcの専門家ではないので、それに対処するための3つの異なるアプローチを考え出しました。
最初のものでは、NSDateFormatter
カテゴリを作成し、そこでコードをカスタマイズしました。これは一般的なアプローチですが、そのようなオブジェクトを作成するたびに、これはメインの自動解放プールに配置されます。この動作は、非ARCコードとARCコードの両方に有効だと思います。
代わりに、2番目の方法では、メソッドをオーバーライドして、+(void)initialize
そこにカスタマイズコードを配置しました。ここに簡単な例があります:
static NSDateFormatter* dateFormatter = nil;
+(void)initialize
{
dateFormatter = [[NSDateFormatter alloc] init];
// other code here
}
最後に、次のようなプロパティを介した遅延読み込みのインスタンス化を使用して、3番目のアプローチを設定しました。
-(NSDateFormatter)dateFormatter
{
if(dateFormatter) return dateFormatter;
// alloc-init here
}
そうは言っても、オブジェクトを複数回処理するのにどのアプローチが最適で+(void)initialize
、そのように使用するのが正しいかを知りたいと思います。
前もって感謝します。