データベースから画像を非同期にロードした後、テーブルビューセルの高さを更新しようとしています。 ユースケースは次のとおりです。 セルが表示されているときにイメージを取得します。だから私は `loadImageWith(callBack:() - >())それをセルで呼び出す必要があります。 私はコールバックを受け取ったとき、私は画像で特定のセルを更新したいと思います。 画像にはプレースホルダなどがありません。したがって、画像が利用できない場合、そのセルは空です。データベースから画像を取得した後にセルの高さを更新する
私は他のスレッドで説明したが、明らかに、これは無限ループにつながるようにコールバックで
self.tableView.beginUpdates() self.tableView.reloadRows(at: [indexPath], with: UITableViewRowAnimation.fade) self.tableView.endUpdates()
を呼び出そうとしています。 画像を画像ビューに追加した後で、cell.needsLayout
または/およびcell.layoutIfNeeded
に電話してみました。 行に影響を与えません。
サーバーからではなくローカルデータベースからイメージデータを取得する必要があるため、サードパーティライブラリを使用していません。
imがviewDidLoadのすべての画像をロードしていて、self.tableView.reloadRows(at: [indexPath], with: UITableViewRowAnimation.fade)
を呼び出す場合は動作しますが、可視のセルだけをロードする必要があります。
希望には、この問題の解決策があります。