私は、UITableViewController内のすべてのセルをループする関数を作成しています。ここに私がこれまで持っているものがあります:Int対IndexPathのトラブル
var i = 0
while (i < tableView.numberOfRows(inSection: 0)) {
i += 1
let cell = tableView.cellForRow(at: i-1)
}
セルを取得しようとするまで、すべてが正しくループします。それはタイプIndexPath
の入力を期待していますが、私はIntで渡しています。いつでも私はIndexPathとして強制するでしょう:
let cell = tableView.cellForRow(at: i-1 as! IndexPath)
私はいつも失敗する/常にnilを返すと警告を受けます。これを行うためのよりよい方法があるのか、それとも私はちょうど重要なステップを欠いていますか?どんな助けでも大歓迎です。前もって感謝します!
編集(少し詳細説明):すべてのセルは、カスタムクラスのセルであり、特定の変数を持ちます。私はすべての細胞をループして、その値を取得したい。
let visibleCells = tableView.visibleCells
for aCell in visibleCells {
print(aCell.question?.text) <------- this is the value I want
}
あなたの質問とは無関係ですが、すべてのセルをループする試みが間違っていることをほとんど保証できます。そのループの実際の目標は何ですか? – rmaddy
おそらくrmaddyのようにあなたの実際の目標に応じて 'tableView.visibleCells'を使う方が良いでしょう。 –
すべてのセルは、特定の変数を持つカスタムクラスセルです。私はすべての細胞をループして、その値を取得したい。 –