NSDateFormatterの再利用

Posted on
iOS NSDateFormatter Objective-c

NSDateFormatterを含むNSFormatterクラスは、生成コストが高いのでなるべく再利用します。

+ (NSDateFormatter *)dateFormatter
{
    static NSDateFormatter *_dateFormatter = nil;
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        _dateFormatter = [[NSDateFormatter alloc] init];
        [_dateFormatter setDateFormat:@"YYYY/MM/dd"];
    });
    return _dateFormatter;
}

- (void)aMethod
{
    NSDateFormatter *formatter = [[self class] dateFormatter];
}

cf