Arrays 如果选中标记处于启用状态-将对象添加到数组[SWIFT]

Arrays 如果选中标记处于启用状态-将对象添加到数组[SWIFT],arrays,swift,swift3,checkmark,Arrays,Swift,Swift3,Checkmark,这是我的代码,但它不会将用户名保存到数组中 func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { // тут проверяем если ячейка уже выбрана то удаляем из массива и убираем чекмарк // если не выбрана то добавляем в массив и ставим чекмарк

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

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的笔记本电脑。

删除最后一个linelet usersInGame:NSMutableArray=[],因为它将再次创建空阵列是否正确?