这是我的代码,但它没有将用户名保存到数组中
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 的笔记本电脑上工作。
关于arrays - 如果选中标记 - 将对象添加到数组 [SWIFT],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44919039/