UICollectionViewCell包含一个UILabel,其文本设置为:

textLabel.text = String(format: "\(aDate)", arguments: [])


我观察到aDate文字使集合视图的滚动明显滞后。 aDate不是延迟加载变量,而是简单的var aDate: NSDate?。顺便说一句,我不只是使用textLabel.text = "\(aDate)"的原因是该字符串实际上包含更多的文字。

NSDate变量插入字符串是否是不好的做法?
我必须使用NSDateFormatter吗?

最佳答案

每当您要向用户展示NSDate对象时,都应使用NSDateFormatter,这将确保根据用户的语言环境,设置日历和常规显示首选项将日期正确显示给用户。这被认为是最佳做法。您还应该对任何数字表示形式,名称,距离或其他显示字符串进行相同的操作,这些显示字符串在文化上可能会有所不同,具体取决于您在地球上的位置。

08-16 08:44