私はUITableViewベースのゲームショップを持っています。アニメーションに害を与えずにテーブルビューでデータを再ロード
すべてのセルには、ほとんどが有効になっており、ワンタイム購入の場合は「BOUGHT」に切り替えることができ、十分な金額がない場合は無効にすることができます。
現時点では、表示されているセルと現在のセル自体を更新するために購入ボタンを押すたびにreloadData
を呼び出しています。 (私はすべてのセルを更新する必要があります。なぜなら、購入後、目に見えるアイテムセルには十分な金額がないことがあるからです)。
しかし、1つのセルの購入ボタンをクリックして別のアニメーションでアニメーションが終了するような不思議なアニメーションの不具合が発生します。
これは、細胞の再利用性のために起こると思います。だから私が知りたいのは、元のアニメーションを損なうことなくテーブルビュー全体でデータを再ロードする方法です。
私が考えることができるのは再利用可能なセルを使用せず、それらをすべてキャッシュすることだけではありませんが、これは良いプログラミング方法ではないと思います。
まあ、セルがモデルであることを知っているとき、これは悪いデザインだと思った... – s1ddok
そして、私はそれがお金があるかどうかを確認するために他のセルを更新するのに役立つ方法を見ていない – s1ddok
セルは、モデルクラスは優れたデザインであり、スモールトークに戻ることができます。モデルを単に観察し、それを視覚的に表現する限り、セルは単なるビューです。彼らが合計金額を知る必要がある場合は、それらに「勘定」オブジェクトを渡すことができます。 –