gpt4 book ai didi

objective-c - NSDateFormatter localizedStringFromDate 的开销 :dateStyle:timeStyle: class method

转载 作者:行者123 更新时间:2023-11-29 04:37:57 24 4
gpt4 key购买 nike

NSDateFormatter 包含以下便捷方法:

+ (NSString *)localizedStringFromDate:(NSDate *)date dateStyle:(NSDateFormatterStyle)dateStyle timeStyle:(NSDateFormatterStyle)timeStyle

documentation声明使用此方法与显式执行此操作相同:

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setFormatterBehavior:NSDateFormatterBehavior10_4];
[formatter setDateStyle:dateStyle];
[formatter setTimeStyle:timeStyle];
NSString *result = [formatter stringForObjectValue:date];

现在,我在很多地方读到初始化 NSDateFormatter 对象会产生相当大的开销。有谁知道 localizedStringFromDate:etc 类方法是否具有相同的开销,即每次调用它时都会导致在幕后实例化一个新的 NSDateFormatter 对象?

最佳答案

我使用我的NSDateFormatter作为静态变量,我延迟初始化它。像这样,init 例程仅被调用一次:

static NSDateFormatter *formatter = nil;
if (!formatter) {
formatter = [[NSDateFormatter alloc] init];
[formatter setDateStyle:dateStyle];
[formatter setTimeStyle:timeStyle];
}
NSString *result = [formatter stringFromDate:date];
// reuse
[formatter setDateStyle:anotherDateStyle];
[formatter setTimeStyle:anotherTimeStyle];
NSString *anotherResult = [formatter stringFromDate:anotherDate];

关于objective-c - NSDateFormatter localizedStringFromDate 的开销 :dateStyle:timeStyle: class method,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10816495/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com