J'ai 3 points de vue de la collection sur une vue Contentrale, comment mettre à jour une autre collection Voir les données lorsque je clique sur une cellule de collectionView Cell
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { if collectionView == CollectionViewBottom { if indexPath.item == 14 { ////what code i should write here to update collection view HeadingLabel.text = "Solar" CollectionViewMID.reloadData() } } }
3 Réponses :
Si je comprends votre question que vous pouvez simplement le résoudre par RALODOAD AUTRES COLLECTIONVIEW Data Inside CollectionView Inside DidSelectRowatidexPath code> Par exemple:
TROIS COLLECTIONVIEUTION est: P>
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { //apply your logic in this Scope if ( your logic ) { collectionViewOne.realoadData() collectionViewTwo.realoadData() } }
Cell.imagemid.Image = Self.ImagesArrayMidGenerator [IndexPath.row] De cette façon, ajoutez des données à la collectionView dans le chemin ItemAindex, mais maintenant je souhaite mettre à jour cette vue de collection avec de nouvelles données de tableau cellule.imagemid.image = Self.Solararray [IndustryPath. ligne]
Que voulez-vous dire par imagemid code> .Cant comprendre votre question correctement pouvez-vous afficher le code?
imagemid est la prise d'image d'image dans la classe de cellules où l'image va être mise à jour
OKY, alors vous voulez juste mettre à jour la cellule NewImage avec ImageArray Self.Solararray [indexPath.row] 1 code> à quand utilisateur cliquez sur CELL?
Lorsque l'utilisateur clique sur une cellule en basculcollectionview, alors les données de la collection Mid CollectionView mis à jour comment je peux faire cela?
Mid Collection View a déjà des données mais lorsque je clique sur une collection de bas de la collection, les nouvelles données de la matrice doivent être mises à jour sur un Midcollectionview
OKY Créez un objet d'observateur de propriétés comme ce top PF The ViewDiDload Code> J'aime ce
updateDataArray = your newDataArray``
and in the reload data
```func reloadData() {
yourtableView.reloadData()
}
Mais ce code ne sauvegarder que des données sur un autre tableau ne figurant pas dans la vue de la collection?
J'ai un exemple pour vous. J'espère que cela vous aidera
var arr : [String] = [] var collectionView:UICollectionView! override func viewDidLoad() { super.viewDidLoad() arr = ["ONE","TWO","THREE"] } func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { if indexPath.row == 1 { arr = ["ABC", "EFG", "HIJ"] collectionView.reloadData() } else if indexPath.row == 2 { arr = ["1", "2", "3"] collectionView.reloadData() } }
Merci frère de l'aide
On dirait que tu l'as résolu. Gardez toutes les 3 vues de la collection comme vars dans votre VC, puis appelez .Reloaddata () sur la collection souhaitée à tout moment.
Mais je veux mettre à jour avec une autre donnée de tableau?
Cell.imagemid.Image = Self.ImagesArrayMidGenerator [IndexPath.Orow] De cette manière Ajout de données à la collectionView dans le chemin ItemAindex, mais maintenant je veux mettre à jour cette vue de collection avec cell.imagemid.image = self.solararray [indexpath.row]