У меня есть массив UIImage по умолчанию и массив имен для метки и imageView в моей ячейке collectionView
.UIcollectionviews
данные не изменятся после того, как я вызову функцию reloadData()
и поменяю источники по умолчанию для метки и imageView, если только я не прокручиваю каждую ячейку из экрана и не прокручиваю назад, чтобы увидеть, что данные изменились.
@IBOutlet weak var mycollectionview: UICollectionView!
var castNames = ["", "", "", "", ""]
var collectionviewimages = [UIImage(named: "pic"), UIImage(named: "pic"), UIImage(named: "pic"), UIImage(named: "pic"), UIImage(named: "pic")]
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return castNames.count
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier:
"customcell", for: indexPath) as! MyCollectionViewCell
cell.Initialize(image: collectionviewimages[indexPath.row]!, name:
castNames[indexPath.row])
return cell
}
}
, нажав кнопку, я получаю несколько Json и анализирую их, чтобы изменить источники данных по умолчанию collectionView
.после изменения, как я хочу, я называю эту функцию:
mycollectionview.reloadData()