【发布时间】:2016-04-04 00:21:41
【问题描述】:
我有一个 Alamofire 请求,假设下载一个文件,但它不会执行它自己的代码。这是 Alamofire 代码:
var testNumbers: Int = 0
var testString: String = "Hi"
Alamofire.download(.GET, "http://www.sayweee.com/admin_groupbuy/export_deal_orders/71w4o?format=csv") { temporaryURL, response in
let fileManager = NSFileManager.defaultManager()
let directoryURL = fileManager.URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)[0]
let pathComponent = response.suggestedFilename
print("1")
testNumbers = 1
print(directoryURL.URLByAppendingPathComponent(pathComponent!))
print("blah")
testString = "blah"
print("2")
testNumbers = 2
return directoryURL.URLByAppendingPathComponent(pathComponent!)
}
print(testNumbers)
print(testString)
执行此代码将在控制台中打印:
0
Hi
我很确定这意味着{} 中的代码没有被执行。我读过另一个关于这个主题的文章,并了解到 Alamofire 是“异步的”,正如他们在this post 中所说的那样。我试图摆脱viewDidLoad() 方法和viewDidAppear() 方法中的所有内容,并确保我没有任何无限循环。即使在那之后,结果也是一样的。关于为什么会发生在我身上的任何想法或建议?我试图在这里和谷歌上查看,但我只找到了一篇与这个主题相关的帖子,就是上面链接的那个。
【问题讨论】:
-
它工作正常,检查正确
标签: ios swift asynchronous alamofire