<分区>
我是 Swift 的新手,有一个关于回调/闭包的问题。在异步网络调用期间,不同的项目会在不同的时间出现。我想知道回调如何知道在返回请求中查找的所有内容之前不执行回调?
编辑:
dispatch_async(dispatch_get_main_queue(), {
//Array to store HingeImage objects
var myImageArray = Array<HingeImage>()
for items in parsedResult {
//Create custom objects with values needed
let finalObjects = HingeImage(dictionary: items as! [String : AnyObject])
myImageArray.append(finalObjects)
}
// Callback completion
callback(hingeImages: hingeImageArray, error: nil)
})
编辑 2:
class SecondViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
callTheCallBackAndGrabData()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func callTheCallBackAndGrabData() {
MainVC.requestWithCallback { (hingeImage, error) in
print(hingeImage)
}
}
}