私のiosアプリケーションコードをSwift 4に移行し、コレクションビューのデータのリロード方法が機能しません。私は何かを探して試したが、誰も働かなかった。それはSwift 3で一ヶ月以上完璧に動作していたので、何が起きているのか分かりません。ボタンがクリックされたときに、私は、この関数を呼び出すUICollectionViewのリロードデータが速く動作しません4
private func setLevelLessons(){
let operationsDB = DBOperations()
self.indexInformation = operationsDB.getIndex(forLevel: self.currentLevel)
self.numLessons = (self.indexInformation?.count)!
DispatchQueue.main.async {
self.lessonsCollectionView.reloadData()
}
}
:
このコードは、例1のためです。クリックすると、データベースからデータを取得し、コレクションビューを再読み込みします。私はデータが正しいかどうかを確認したので、それは問題ではありません。
次のメソッドが呼び出され、そして(ボタンで二必要はない、画面内に関係なく)第一および第二のクリックで呼び出されたときに私が起こって何ができるか
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell
を項目を印刷?
その値が正しい@SalmanGhumsani、私は 'numLessons'変数からそれを得るあなたの' numOfRowAtIndexPath'リターン回数 –
を確認してください。 – CipherCit
私は同様の効果があり、私にとっては_ [collectionView reloadData] _の前に_ [collectionView.collectionViewLayout invalidateLayout] _ _しました。私の場合、collectionview-viewcontroller(obj-c)は、スクロールビューコントローラの子ビューコントローラです。 – Apoc