当函数在父视图中回调时更新子视图
update subviews when function calls back in parent view
我有一个父视图,它是一个 uipageviewcontroller,在子页面视图中,我在视图中有一个 uiimage。问题是我需要在子视图显示之前(可能在后台)抓取这些图像。现在我在 class 中有一个函数,如下所示:
// these functions are in a class to model the data for each subview
func loadImages(){
if self.images != nil && self.images!.count > 0{
self.loadFirst()
}
if self.location_id != nil && (self.images == nil || self.images!.count == 0) {
ApiWrapper.getPictures(self.location_id!, completionHandler: self.imagesCallback)
}
}
func imagesCallback(cardImagesArray: [CardImage]){
println("images callback")
self.images = cardImagesArray
self.loadFirst()
}
func loadFirst(){
if self.images!.count > 0 {
self.images![0].getData()
}
}
我正在为 uipageviewcontroller 数组中接下来的五个 "pages" 在父视图中调用 loadImages。问题是当我滑动到下一个视图并且图像尚未加载时执行 "image callback" 它不会更新视图。如何在执行 imagesCallback 时更新视图? imagesCallback 在每个屏幕显示的数据的 class 模型中。
关于如何执行此操作,您有几个不同的选择:
在父 pageviewcontroller 上实现 returnImageToDisplay,然后执行:
var parent = self.parentviewcontroller? as theSubClassedPageViewController
var image = parent.returnImageToDisplay(some_identifier)
2.Subclass 您用作页面的子 UIViewController,然后执行与 1 类似的操作。- 获取实例处理程序并使用数据作为参数调用方法。
我认为 1. 更容易实现。
我有一个父视图,它是一个 uipageviewcontroller,在子页面视图中,我在视图中有一个 uiimage。问题是我需要在子视图显示之前(可能在后台)抓取这些图像。现在我在 class 中有一个函数,如下所示:
// these functions are in a class to model the data for each subview
func loadImages(){
if self.images != nil && self.images!.count > 0{
self.loadFirst()
}
if self.location_id != nil && (self.images == nil || self.images!.count == 0) {
ApiWrapper.getPictures(self.location_id!, completionHandler: self.imagesCallback)
}
}
func imagesCallback(cardImagesArray: [CardImage]){
println("images callback")
self.images = cardImagesArray
self.loadFirst()
}
func loadFirst(){
if self.images!.count > 0 {
self.images![0].getData()
}
}
我正在为 uipageviewcontroller 数组中接下来的五个 "pages" 在父视图中调用 loadImages。问题是当我滑动到下一个视图并且图像尚未加载时执行 "image callback" 它不会更新视图。如何在执行 imagesCallback 时更新视图? imagesCallback 在每个屏幕显示的数据的 class 模型中。
关于如何执行此操作,您有几个不同的选择:
在父 pageviewcontroller 上实现 returnImageToDisplay,然后执行:
var parent = self.parentviewcontroller? as theSubClassedPageViewController var image = parent.returnImageToDisplay(some_identifier)
2.Subclass 您用作页面的子 UIViewController,然后执行与 1 类似的操作。- 获取实例处理程序并使用数据作为参数调用方法。
我认为 1. 更容易实现。