私はページビューコントローラを使用して、アプリでイメージカルーセルを実装しています。親ビューコントローラにコンテナビューがあり、ページビューコントローラへの埋め込みがあります。私が持っている問題は、私が外に出て、非同期にこれらのイメージをフェッチする必要があり、viewDidLoadがイメージを取得する前にsegueが起こったときです。プログラムに埋め込まれたコード
私はセグエの準備:のviewDidLoadで
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "startCarousel" {
let carouselPageViewController = segue.destination as! CarouselPageViewController
carouselPageViewController.images = carouselImages
}
}
を:
GalleryManager.sharedInstance.getData = {
(data) in
// Assign images to instance property here ...
}
私の思考は、一度私はプログラムでセグエ自分自身を開始した画像を得ることです。または、私がこれを別の方法でやっていなければならない場合は、アドバイスをいただければ幸いです。
埋め込みビューコントローラ内の画像を取得、埋め込みビューコントローラではなく、埋め込みビューコントローラへの参照を保持し、イメージプロパティを取得したらイメージプロパティを更新します。 – Paulw11
私は@ Paulw11に同意するか、viewWillAppearまたはviewDidAppearの内部でgetData関数を動かすことができるので、画像をロードする際に関数が待ち時間を引き起こさないようにすることができます。 –