如果选中标记 - 将对象添加到数组 [SWIFT]

If checkmark is on - add object to the array [SWIFT]

这是我的代码,但它没有将用户名保存到数组中

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    // тут проверяем если ячейка уже выбрана то удаляем из массива и убираем чекмарк
    // если не выбрана то добавляем в массив и ставим чекмарк
    if tableView.cellForRow(at: indexPath)?.accessoryType == .checkmark {
        let cell = UITableViewCell()
        usersInGame.add(cell.textLabel?.text)
    } else {

        tableView.cellForRow(at: indexPath)?.accessoryType = .checkmark
    }
    tableView.deselectRow(at: indexPath, animated: false) //убираем выделение ячейки если не нужно обратное
    let usersInGame: NSMutableArray = []
}

我知道它不起作用,因为当我打开复选标记代码时不起作用。请帮忙!

看起来您正在创建一个新单元格并尝试检索文本。此外,@Samarth Kejriwal

指出不需要本地 usersInGame
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    if let cell = tableView.cellForRow(at: indexPath), cell.accessoryType == .checkmark {
        usersInGame.add(cell.textLabel?.text)
    } else {
        tableView.cellForRow(at: indexPath)?.accessoryType = .checkmark
    }
    tableView.deselectRow(at: indexPath, animated: false)
}

试试这个。另外,设置一个断点以确保它进入usersInGame。可能有一些语法错误,我在没有 XCode.

的笔记本电脑上工作