私はあなたがあなたには、いくつかの変数を持っている選択したインデックスのチェックマークを「チェック」したいと考えています。これはあなたが好きあなたのtableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
方法でこれを行うことができます何をしたいの場合:
myCell.checked = checkedIndexes[indexPath.row] ?? false
私は、あなたがあなたのcheckedIndexes
変数に値を持っている場合、あなたがそれを設定するように、あなたはchecked: Bool
変数とカスタムセルを持っていると仮定していますそれ以外の場合はfalse
と設定します。
警告:false
の値は、セルの再利用のために重要です。
これは単なる提案に過ぎず、好きな方法でやることができます。
selectRow(at indexPath: IndexPath?, animated: Bool, scrollPosition: UITableViewScrollPosition)
メソッドは行を選択するだけで、ロジック関連のアクションは実行されません。これが機能するには、myCell.checked = checkedIndexes[indexPath.row] ?? false
より前に提案されたコードでUITableViewDelegate
からtableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath)
を実装する必要があります。
「特定の行を選択する」という正確な意味は?前に選択した行のチェックマークを選択しますか? – valcanaia
私は行が選択されていると思うが、 '.none'以外のものを渡して新しく選択した行にスクロールさせるためには、テーブルビューを必要とする。チェック:https://developer.apple.com/documentation/uikit/uitableviewscrollposition –
@valcanaiaはい、すべてのインデックスがグローバル変数に格納されていますが、それが意味をなさない場合はセル選択をハードコードしたい –