我正在将 AWS S3 服务集成到我基于 Swift 的项目中,但我卡在了下面的 sysntax 中,因为没有关于 API 与 Swift 的用法的描述,所以我试图自己转换代码。
transferManager.download(downloadRequest).continueWithExecutor(BFExecutor.mainThreadExecutor(), withBlock:
{ (task:BFTask!) -> AnyObject! in
println("test")
})
我遇到以下错误!
Type '()' does not conform to protocol 'AnyObject'
请您参考如下方法:
我不确定问题出在哪里,但切换到常规 continueWithSuccess 可以。如果您需要 block 在线程上执行,您可以在 block 内使用中央调度。
例如,如果你需要在主UI线程上执行的 block ,你可以这样写
transferManager.download(downloadRequest).continueWithSuccessBlock({
(task: BFTask!) -> BFTask! in
dispatch_async(dispatch_get_main_queue(), {
println("test")
})
return nil
})
dispatch ... 只有当你想在一个单独的线程上运行 block 时才需要。
