Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/44.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 格式化NSDate滞后于我的UITableVIew_Iphone_Objective C_Ios_Ipad_Nsdate - Fatal编程技术网

Iphone 格式化NSDate滞后于我的UITableVIew

Iphone 格式化NSDate滞后于我的UITableVIew,iphone,objective-c,ios,ipad,nsdate,Iphone,Objective C,Ios,Ipad,Nsdate,在调用tableView:cellforrowatinexpath:期间,我调用此函数将日期格式化为时间: - (NSString *)_formatDate:(NSDate *)date withString:(NSString *)string { NSLocale *locale = [NSLocale currentLocale]; NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; NSStr

在调用
tableView:cellforrowatinexpath:
期间,我调用此函数将日期格式化为时间:

- (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”

不幸的是,这似乎落后于我的表视图。类似的事情也发生在我的分区标题中,我正在将其格式化为完整日期

这有什么理由让我的应用程序如此落后吗?这些电话中有没有特别密集的

谢谢

汤姆说。使用实例变量并在
viewdiload
中设置一个日期格式化程序,然后在每次需要时重复使用同一个格式化程序。或者根据需要加载一个

如果不是因为创建而昂贵,而是因为要解析日期字符串,那么请预先保存日期的解析副本并使用它。不过,你不得不担心位置和语言环境的变化,所以事情会变得更复杂。

。使用实例变量并在
viewdiload
中设置一个日期格式化程序,然后在每次需要时重复使用同一个格式化程序。或者根据需要加载一个


如果不是因为创建而昂贵,而是因为要解析日期字符串,那么请预先保存日期的解析副本并使用它。不过,您必须担心位置和语言环境的变化,因此它会变得更加复杂。

您至少可以使用一个已经制作好的格式化程序,它存储为ivar。值得一试。你至少可以使用一个已经制作好的格式化程序——存储为ivar。值得一试。延迟实例化是前进的方向。它将所需对象的所有加载保留到自己的函数集。如果你需要定制/更改对象,那么你就知道在哪里做,并且只加载一次。这就是问题所在。。。还有一些类似的代码,用于根据区域设置格式化货币,这也是问题的原因。现在我有了一个很好的平滑的桌面视图,谢谢你的帮助!:)延迟实例化是前进的方向。它将所需对象的所有加载保留到自己的函数集。如果你需要定制/更改对象,那么你就知道在哪里做,并且只加载一次。这就是问题所在。。。还有一些类似的代码,用于根据区域设置格式化货币,这也是问题的原因。现在我有了一个很好的平滑的桌面视图,谢谢你的帮助!:)