如何解决我将可重用单元格的计算放在哪里?
在我的视图控制器中,我的许多cellForItemAt方法中都有计算。在以下示例中,我获取了数量,图像和balanceAtDate并将它们传递到我的视图中:
func collectionView(_ collectionView: UICollectionView,cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: SummaryCell.cellId,for: indexPath) as! SummaryCell
let amount = filteredTransactions[indexPath.row].transactionAmount
let image = UIImage(named: filteredTransactions[indexPath.item].transactionCategory!.categoryName)
let balanceAtDate: Double = realm.objects(Transaction.self).filter("transactionDate <= %@",transactionResults[indexPath.item].transactionDate).sum(ofProperty: "transactionAmount")
cell.configure(with: image,and: amount,and: balanceAtDate)
return cell
}
引起我注意的是,我不应该在cellForItemAt中进行任何计算或计算,因为它会为每个单元格调用,这会降低应用程序的速度。
我创建3个常量:数量,图像和balanceAtDate。我是否需要将所有三个都放到其他地方,或者只将balanceAtDate放到其他地方?
那么,我在哪里将需要indexPath.item的计算放入到balanceAtDate之类的地方?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。