【发布时间】:2016-02-14 11:28:24
【问题描述】:
在 Swift 中链接完成的最佳方式是什么?我正在使用从 API 获取一些信息的网络库。要获取我需要的信息:
授权 -> 获取类别列表 -> 获取论坛列表 -> 获取主题列表 ->
嵌套完成看起来很糟糕,有什么方法可以做得更好吗?我尝试使用 dispatch_sync,但没有成功。
示例代码:
api.get_session_key(self.credentials) { (sessionKeyResult) -> () in
switch sessionKeyResult {
case .Success(let sessionKey):
// STEP 2
self.api.list_categories(self.credentials.userLogin, completion: { (surveysResult) -> () in
switch surveysResult {
case .Success(let surveys):
// STEP 3 and so on
case .Error(let error): completion(synced: Result.Error(error))
}
})
case .Error(let error):
completion(synced: Result.Error(error))
}
}
【问题讨论】:
标签: swift grand-central-dispatch completionhandler