日付の書式設定は、一般にコストのかかる手順と見なされます ( docs read: Cache Formatters for Efficiency )。このような種類のオブジェクトの場合、単一のインスタンスを初期化してキャッシュすることは、 を呼び出すたびに新しいインスタンスを作成するよりもはるかに優れていますcellForRowAtIndexPath
。これは、NSCalender や NSDateformatters などに適用されます。日付書式設定オブジェクトのインスタンスを 1 つだけ作成している限り、それらを使用してもcellForRowAtIndexPath
パフォーマンスが著しく低下することはありません。次のように、セルまたはテーブルビューのデリゲートのクラス メソッドでこれらのオブジェクトをキャッシュしてみてください。
+ (NSDateFormatter *)dateFormatter {
static NSDateFormatter *dateFormatter = nil;
if(!dateFormatter) {
dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"EEEE LLL d, yyyy | h:mma"];
}
return dateFormatter;
}