我正在使用Alamofire在一个ViewController中处理大量数据,如下所示:
Alamofire.request(.GET, APIENDPOINT)
.responseJSON { (_, _, jsondata, _) in
// whole lotta json parsing and creating custom objects from json
}
实际上,数据被抓取在一个视图控制器中,该控制器充当加载屏幕,通知用户后台正在进行某些操作。然后,当异步请求完成并填充所有数据时,数据将显示在另一个视图控制器中。
实现此类行为的最佳方式是什么?
答案 0 :(得分:0)
执行此操作以使发送请求的viewcontroller等待,直到数据已加载并解析为一些有用的模型组件。然后,初始化另一个viewcontroller,从远程传递解析的数据,然后显示/推送它。
Alamofire.request(.GET, APIENDPOINT)
.responseJSON { (_, _, jsondata, _) in
// whole lotta json parsing and creating custom objects from json
let anotherViewController = AnotherViewController()
anotherViewController.dataFromRemote = parsedRemoteData
self.showViewController(anotherViewController, animated:true)
}
答案 1 :(得分:0)
好吧,我会使用手动segue。像这样:
Alamofire.request(.GET, APIENDPOINT)
.responseJSON { (_, _, jsondata, _) in
// whole lotta json parsing and creating custom objects from json
self.performSegueWithIdentifier("realViewController", sender: self)
}
override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) {
if segue.identifier == "realViewController" {
let vc:MyViewController = segue!.destinationViewController as MyViewController
vc.setupWithData(self.myParsedData)
}
}