Ios 关于在Swift中设置报警天数的问题
我正在制作一个类似iPhone报警应用程序的报警功能 设置报警日期时,我正在编写代码来检查一周中的哪一天Ios 关于在Swift中设置报警天数的问题,ios,swift,Ios,Swift,我正在制作一个类似iPhone报警应用程序的报警功能 设置报警日期时,我正在编写代码来检查一周中的哪一天 class DaySelectCell: UITableViewCell { @IBOutlet weak var dayLbl: UILabel! @IBOutlet weak var checkView: Checkbox! } 我想问的部分是didSelectRowAt 我想做一个检查视图。当我点击某一天的单元格时,我选择该单元格的为true 您必须管理数据源以保存
class DaySelectCell: UITableViewCell {
@IBOutlet weak var dayLbl: UILabel!
@IBOutlet weak var checkView: Checkbox!
}
我想问的部分是didSelectRowAt
我想做一个检查视图。当我点击某一天的单元格时,我选择该单元格的为true
您必须管理数据源以保存选定的值,这样您就可以假装选择了哪个索引
var selectedDays: [Int] = []
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
cell.accessoryType = selectedDays.contains(indexPath.row) ? .checkmark : .none
}
现在在didSelectRowAt
方法中编写此代码
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
if let index = selectedDays.firstIndex(where: { $0 == indexPath.row }) {
selectedDays.remove(at: index)
} else {
selectedDays.append(indexPath.row)
}
tableView.reloadData()
}
与您最初的问题无关:检查财产。这样你就不必在应用程序中管理周天数列表。
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
if let index = selectedDays.firstIndex(where: { $0 == indexPath.row }) {
selectedDays.remove(at: index)
} else {
selectedDays.append(indexPath.row)
}
tableView.reloadData()
}