我正在基于Swift的项目中集成AWS S3服务,但由于没有关于使用Swift的API的描述,因此我坚持使用下面的sysntax,所以我试图自己转换代码。
transferManager.download(downloadRequest).continueWithExecutor(BFExecutor.mainThreadExecutor(), withBlock:
{ (task:BFTask!) -> AnyObject! in
println("test")
})
我收到以下错误!
Type '()' does not conform to protocol 'AnyObject'
答案 0 :(得分:3)
我不确定问题是什么,但切换到常规continueWithSuccess
有效。如果您需要在一个线程上执行该块,您可以在块中使用宏中央调度。
例如,如果您需要在主UI线程上执行块,则可以编写
transferManager.download(downloadRequest).continueWithSuccessBlock({
(task: BFTask!) -> BFTask! in
dispatch_async(dispatch_get_main_queue(), {
println("test")
})
return nil
})
只有当您想在单独的线程上运行块时,才需要发送...。