我有一个父视图是一个uipageviewcontroller,在子页面视图中我在视图中有一个uiimage。问题是我需要在子视图显示之前抓取这些图像(可能在后台)。现在我在类中有一个函数:
// 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的数组中的下五个“页面”调用loadImages。问题是当我滑动到下一个视图并且在执行“图像回调”时图像尚未加载时它不会更新视图。如何执行imagesCallback时更新视图? imagesCallback是每个屏幕显示的数据的类模型。
答案 0 :(得分:0)
关于如何执行此操作,您有几种不同的选择:
在父pageviewcontroller上实现returnImageToDisplay,然后执行:
var parent = self.parentviewcontroller? as theSubClassedPageViewController
var image = parent.returnImageToDisplay(some_identifier)
2.将您正在使用的子UIViewController子类化为一个页面,然后执行类似于1.-获取实例处理程序并以数据作为参数调用方法。
在我看来1.更容易实现。