UICollectionViewCell
包含UILabel
,文字设置为:
textLabel.text = String(format: "\(aDate)", arguments: [])
我观察到aDate
字面值导致集合视图滚动显着滞后。 aDate
不是延迟加载变量,而是简单的var aDate: NSDate?
。我之所以不使用textLabel.text = "\(aDate)"
的原因是该字符串实际上包含更多文字。
使用NSDate
变量插入字符串是不好的做法吗?
我必须使用NSDateFormatter
吗?
答案 0 :(得分:0)
每当您想向用户呈现NSDate对象时,您应该使用NSDateFormatter,这将确保根据用户的区域设置,日历和常规显示首选项正确显示日期。这被认为是最佳做法。对于任何数字表示,名称,距离或其他可能在文化上不同的显示字符串,您也应该这样做,具体取决于您在地球上的位置。
答案 1 :(得分:0)
滚动滞后问题是由于标签的NSLayoutConstraints
造成的。解决方案是将标签锚定到UICollectionViewCell
内容视图,而不是内容视图中的其他视图。通过Allocations Instruments分析发现了这一点。