【发布时间】:2016-05-14 15:53:32
【问题描述】:
Mac OS X 10.11.3 El-Capitan、XCode 7.2.1、Alamofire 3.5.1(来自 Carthage)
试图获得我能想到的最基本的 Alamofire 示例。虽然我是一位经验丰富的开发人员,但我是 XCode 的新手,所以我确信我只是缺少一些基本的东西。我设置了一个新项目,通过 Carthage 添加了 Alamofire,在 main.swift 中添加了一个简单的 get 请求。代码构建并运行,但我的响应闭包中没有任何内容被调用。我添加了 sleep 以尝试并确保等待足够长的时间以使关闭被调用。我打开了 Little Snitch,看到我的项目正在调用 httpbin.org。我尝试了各种 response* 方法。但是关闭永远不会运行,我错过了什么?
main.swift
import Alamofire
print("Start")
var x : String = "main"
Alamofire.request(.GET, "https://httpbin.org/get")
.responseString {resp in
print("in response handler")
print("response \(resp)")
x = "response"
}
sleep(90)
print("End \(x)")
控制台输出
Start
End main
XCode
【问题讨论】:
-
所以你所有的代码都在
viewDidLoad或者你是如何调用请求的? -
它是XCode中的一个命令行应用项目。我刚刚从 XCode 中点击 Run,它会运行我在 main.swift 中的所有内容。至少这是看起来正在发生的事情。控制台输出显示开始和结束打印语句。如果我为不在闭包和调试中的东西设置断点,调试器会在该断点处停止。闭包内的断点永远不会被触发。
-
这可能是你的问题,请参阅this answer。