Instagramと同様のUICollection Viewフィードを作成することができましたが、セルを選択してより詳細なビューコントローラに移動する方法がわかりません。私のメインビューコントローラーの外観は次のとおりです。 「ここメインビューコントローラから詳細ビューコントローラへFirebaseデータを送信
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
performSegue(withIdentifier: "details", sender: self)
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "details" {
if let indexPaths = self.collectionView!.indexPathsForSelectedItems{
let vc = segue.destination as! MainViewController
let indexPath = indexPaths[0] as NSIndexPath
let post = self.posts[indexPath.row] as! [String: AnyObject]
let Booked = post["title"] as? String
let Authors = post["Author"] as? String
let ISBNS = post["ISBN"] as? String
let Prices = post["Price"] as? String
let imageNames = post["image"] as? String
vc.Booked = Booked
vc.Authors = Authors
vc.ISBNS = ISBNS
vc.Prices = Prices
vc.imageNames = imageNames
print(indexPath.row)
} }}
は私のデータベースは次のようになります。
//Detailed View Controller
FIRDatabase.database().reference().child("posts").child(self.loggedInUser!.uid).observeSingleEvent(of: .value, with: { (snapshot:FIRDataSnapshot) in
if let dictionary = snapshot .value as? [String: AnyObject] {
self.BookTitle.text = dictionary["title"] as? String
self.Author.text = dictionary["Author"] as? String
self.ISBN.text = dictionary["ISBN"] as? String
self.Price.text = dictionary["Price"] as? String
self.Image.image = ["image"] as? UIImage
}
})
以上が私の詳細ビューコントローラです。しかし、私がセルをクリックすると、私の情報は渡されません。
こんにちは。コードスニペットをテキストとして投稿し、スクリーンショットを投稿するのではなくそれに応じてフォーマットしてください。 –
@AL。コードスニペットをテキストとして投稿しました – juelizabeth
メインViewControllerのfirebaseからデータを解析してdetailViewControllerに渡します – WeiJay