Ios 关于在Swift中设置报警天数的问题

Ios 关于在Swift中设置报警天数的问题,ios,swift,Ios,Swift,我正在制作一个类似iPhone报警应用程序的报警功能 设置报警日期时,我正在编写代码来检查一周中的哪一天 class DaySelectCell: UITableViewCell { @IBOutlet weak var dayLbl: UILabel! @IBOutlet weak var checkView: Checkbox! } 我想问的部分是didSelectRowAt 我想做一个检查视图。当我点击某一天的单元格时,我选择该单元格的为true 您必须管理数据源以保存

我正在制作一个类似iPhone报警应用程序的报警功能

设置报警日期时,我正在编写代码来检查一周中的哪一天

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()
}