我有一个
table view
具有
cells
,并且在执行左扫操作时,它们可以显示复选标记(复选标记只是
UIView
,哪个属性
isHidden
设置为true)。
我还有一个
UIButton
另一方面
view controller
,并且当用户点击它时,应删除所有复选标记。我通过使用协议和
bool
委托的计算属性。该属性是从协议调用的。
以下是方法实现:
extension ItemsTableViewController: UncheckAllCheckedItemsDelegate {
func uncheckAllCheckedItemsButtonDidTapped() {
if checkedItems.count > 0 {
checkedItems.removeAll()
shouldShowCheckmarks = false
}
}
}
来自物业观察员(
didSet
),我打电话
reloadData()
在上
表视图
.
下面是它的样子:
var shouldShowCheckmarks: Bool = false {
didSet {
tableView.reloadData()
}
}
我在中使用此属性
表视图
的数据源方法
tableView(_:, cellForRawAt:)
这样地:
cell.checkMarkView.isHidden = !shouldShowCheckmarks
它工作正常,所有单元格都会得到更新(即使是那些当前不可见的单元格)。
现在,我不确定这是否是更新所有
细胞
在内存使用方面。如果你知道更好的方法,我将非常感谢你的帮助。