在调用tableView:cellForRowAtIndexPath:
期间,我正在调用此函数将日期格式化为时间:
- (NSString *)_formatDate:(NSDate *)date withString:(NSString *)string {
NSLocale *locale = [NSLocale currentLocale];
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
NSString *dateFormat = [NSDateFormatter dateFormatFromTemplate:string options:0 locale:locale];
[formatter setDateFormat:dateFormat];
[formatter setLocale:locale];
return [formatter stringFromDate:date];
}
我正在传递行的日期以及字符串@"HH:mm"
。
不幸的是,这似乎落后于我的桌面观点。我的部分标题中发生了类似的事情,我将格式化为完整日期。
这有什么理由让我的应用程序如此滞后?这些电话是否特别密集?
由于
汤姆
答案 0 :(得分:3)
viewDidLoad
中设置单个日期格式化程序,然后在每次需要时重用相同的格式化程序。或者懒得加载一个。
如果创建不是昂贵的,而是解析日期字符串,请预先保存已解析的日期副本并使用它。你不得不担心位置和区域设置的变化,所以它变得更加复杂。