ios - 更改 tableView 中所有单元格的所有对象的 bool 状态

标签 ios arrays swift uitableview

tableView 中的每个单元格都有各种属性:

class: Item
// properties
    var name: String
    var photo: UIImage?
    var category: String
    var instructions: String
    var completed = false

(一切都已初始化)

我的tableView数组是:

items = [Item]()

当 Item.complete 为 true 时,单元格将有一个复选标记附件,否则它将有 .none

我想使用 UIButton(在单独的 VC 中)为 tableView 中的每个单元格设置 Item.complete = false,从而删除所有复选标记并从本质上重置数据。

我的项目:项目数组是可变的,因为用户可以选择添加或删除数组中的任何行。

我希望 UIButton(位于单独选项卡中的单独 VC 上)连接到 tableView 并进行更改。

如何使用 UIButton 将每个单元格的 .complete 属性更改为 false,以便我可以删除每个单元格上的复选标记?

最佳答案

有一个函数可以为数组的每一项执行闭包

items.forEach{ $0.completed = false }
tableView.reloadData()

关于ios - 更改 tableView 中所有单元格的所有对象的 bool 状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46717778/

相关文章:

php 使用filter_var_array 去除除a-z 之外的任何内容

swift - SpriteKit - touchesMoved,瞄准十字准线

swift - Xcode 13 中的 Info.plist 在哪里? (丢失,不在项目导航器内)

ios - 为 preferredFontForTextStyle 自定义 UIFont

ios - 启动图像在横向模式下无法正常工作?

ios - Xcode 8/Swift 3 : how to make ViewController save state when segue occurs?

ios - Objective-C 的日期转换问题

javascript - 在 JavaScript 中将数组作为字符串转换为数组

Javascript从数组中的对象获取值

arrays - Swift 通用数组 Equatable 类型转换