残念ですが、ここは私の問題です。私は "superVC"(collectionviewcell)から "childVC"へのセグを行い、そのうまくいっています。その "childVC"から "secondChildVC"(すべてのデータがsuperVCのものです)に再びセグをしたいと思います。出来ますか?そのsegueを実行するときに私は常にゼロの値を得るためです。segueとviewcontrollerからviewcontrollerへのデータを別のviewcontrollerに転送する
このようなその何か:SuperVC - > ChildVC - > secondChildVC
ここではsuperVCセグエである:ここ
var destination = [DestinationData]()
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "DestinationDetailVC"{
let detailVC = segue.destination as? DestinationDetailVC
if let data = sender as? DestinationData{
detailVC?.destinationDetail = data
}
}
}
は、第二のVCセグエは
var destinationDetail : DestinationData?
@IBAction func goToMapOnPressed(_ sender: Any) {
let detail = destinationDetail
self.performSegue(withIdentifier: "DestinationMapVC", sender: detail)
print(detail)
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "DestinationMapVC"{
let detailVC = segue.destination as? DestinationMapVC
if let data = sender as? DestinationData{
detailVC?.destinationMapDetail = data
}
}
}
おかげ
ナビゲーションコントローラーの戻るボタンを使用して、前のビューコントローラーにアクセスできます。 –
私の悪い説明に申し訳ありません...私はsegueとChildVCからsecondChildVCにデータを転送したいのですが、ChildVCのデータはSuperVCからです。 SuperVC - > ChildVC - > secondChildVCのようなものは、すべてのデータがsuperVCのものであるためです。 @AbhishekBiswas – RoccoBerry
@RoccoBerry問題を正しく理解している場合は、おそらくSuperVC内のデータにアクセスし、後でSecondChildVCにアクセスしたいと思うかもしれません。もしそうなら、あなたは__singleton__を使うべきだとお勧めします。 – Adeel