セクション内に所定の数のセルがあります。私の目標は、最後に選択したセルだけにチェックマークを表示させることです。他の細胞は感染してはならない。スウィフト:最後に選択したセルのみのチェックマークをオンにする - 動作していない
私はthisに似ていますが古いスレッドの機能を発見しました。私はそれを修正しました(そして、私はここに問題があります)。Swift 3.0の変更のために少しです。
以下に記載されているように、私にとっては機能が正しく動作しません。セクション内の最後のセル(最後に選択されたものではなく、最後に選択されたもの)のみがチェックマークを取得します。しかし、なぜ私は理解できません。以下、この文が真と評価され、それが理にかなっているときに私が見ることができる値をプリントアウトすることにより
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let section = indexPath.section
let numberOfRows = tableView.numberOfRows(inSection: section)
for row in 0..<numberOfRows {
if let cell = tableView.cellForRow(at: indexPath) {
cell.accessoryType = row == indexPath.row ? .checkmark : .none
}
}
}
:ここ
は、フル機能です。しかし、チェックマークはトグルされません。
cell.accessoryType = row == indexPath.row ? .checkmark : .none
ありがとうございます!
Ocunidee、この試みに感謝します。私はあなたがどこにいるかにさえ近くない。私はまだこの時点でテーブルビューの基本についてはっきりしていません。今私は、私が投稿したコードが私がそれがすべきと思っていることをしていない理由が本当に不思議です。 – user1269290
ああ、私はあなたが求めていたものを誤解していました。何回、あなたは1つのセルだけを選択したいですか(チェックマークが表示されます)? 複数の選択を許可していないことをテーブルビューに伝える必要があります。 – Ocunidee
上記の編集を参照 – Ocunidee