使用 Alamofire 进行 GET 请求调用后没有响应
Posted
技术标签:
【中文标题】使用 Alamofire 进行 GET 请求调用后没有响应【英文标题】:Getting no response after GET request call using Alamofire 【发布时间】:2017-02-26 08:35:45 【问题描述】:我正在编写一个简单的应用程序来从服务器获取数据,并且我已经使用 Swift3 使用 Alamofire 实现了 GET 请求。 我的 Alamofire GET 请求调用如下,
func networkRequest(completed: @escaping DownloadComplete)
Alamofire.request("https://api.waqi.info/feed/shanghai/?token=demo").responseJSON response in
let result = response.result
print(response.description)
if let dict = result.value as? Dictionary<String, AnyObject>
if let status = dict["status"] as? String
self._status = status
print(self._status)
completed()
我在数据模型文件下使用了如下类型别名,
typealias DownloadComplete = () -> ()
当我运行它时,我在 Xcode 8 的控制台中没有得到任何输出,它仍然是空白的。我无法弄清楚我的代码有什么问题。
【问题讨论】:
我已经运行了代码,一切正常,控制台输出正确。尝试清理项目。 我确实这样做了,但在这种特殊情况下,它根本不起作用。我什至重新安装了 pod,我在模拟器和手机上都卸载了该应用程序..再次安装。 Xcode 控制台只是保持空白。我连接的 UI 标签也保持空白。 您是在应用程序还是命令行脚本中执行此操作?如果是命令行,可能需要调用dispatchMain()
来开始 libdispatch 运行循环。否则,您的程序将在请求完成之前退出。
是的,这是一个范围界定问题。
【参考方案1】:
问题在于右括号。由于范围错误,它没有被调用。现在解决了。
【讨论】:
以上是关于使用 Alamofire 进行 GET 请求调用后没有响应的主要内容,如果未能解决你的问题,请参考以下文章
Alamofire - 带有自定义标头的 Rest API 调用
Swift 3.0 迁移后的 Alamofire 错误:“调用中的额外参数”(请求方法)