UICollectionViewCell
カスタムで問題が発生しています。コレクションビューをリロードしたときに直前のセルのデータをすばやく見ることができます。しかし、細胞は最終的に正しいデータで終わる。UICollectionViewCellは、値を設定すると直前のセルからのデータをすぐに表示します。
私のカスタムセルにfunc collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {}
デリゲートメソッドのタイトルを設定しているUIButton
があります。
私は、たとえば、cell.myButton.setTitle("", for: .normal)
を使用して、実際に使用したいタイトルを設定する前に、コレクションビューの各アイテムに設定されていた以前の値を "クリア"しようとしました。
何が原因なのでしょうか?
ご協力いただきありがとうございます。
新しいデータを表示する前に、以前のセルのデータを画像などがあればnilに設定します。 –
'dispatch_async()'コールを使って値を設定していますか? 'collectionView:cellForItemAtIndexPath:'はメインキュー上で実行されるはずなので、GCDを使うのは無意味で、ディスパッチと実際にその特定のタスクを実行する間に "遅れ"を起こします。そのデリゲートメソッドの実際の実装は何ですか? –
回答ありがとうございました。ボタンタイプを「カスタム」に変更しました。これはこの問題を修正しています。あなたが知りたいと思うアイデアがあれば、どうして全然分かりませんか、ありがとう! – Dayna