新しいView Controllerに接続しました。このView Controllerには、対応するCollectionViewCellの配列データが格納されます。前のセル配列を表示するためにデータを変更するにはどうすればよいですか?最後のビューコントローラーに戻ってそこからセルを選択する必要はありませんか?私はSwift 3を使用しています。以下は、私が意味することを説明する画像です。ViewControllerでindexPathを見つけよう
最初の画像は最初のView Controllerにあります。 2番目と3番目の画像は、リストの最初の2つのいずれかがタップされたときに表示される画像です。 2番目のView Controllerの矢印キーを使用して次のインデックスに移動できます。どのようにしてこの機能を達成できますか?
let dataSource = DataSource()
func numberOfSectionsInCollectionView(collectionView: UICollectionView) -> Int {
return 1
}
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
if inSearchMode {
return filteredAnimal.count
}
return dataSource.anim.filter{ $0.isDefault! }.count
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "AnimIndex", for: indexPath as IndexPath) as! AnimIndex
let animal: Animal
if inSearchMode {
animal = filteredAnimal[indexPath.row]
} else {
animal = dataSource.anim.filter{ $0.isDefault! }[indexPath.row]
}
cell.configureCell(animal)
return cell
}
私はあなたの質問から理解することができます - あなたは以前のviewcontrollerのデータを更新したいと思います。以下は、これを行うためのいくつかの方法です 1.現在のビューコントローラからデリゲートと呼び出しを作成します。 2.現在のviewcontrollerから以前のviewcontrollerに通知を送信します。 –
私の理解によれば、すべてのコレクションビューのセルデータを次のビューコントローラに渡す必要があるので、今すぐすべてのデータがあるので、 次または前のインデックスデータを選択する必要があります。 –
詳細を含むポストを更新しました – user4938361