我正在将aws s3服务集成到基于swift的项目中,但由于没有对api和swift的用法的描述,所以我坚持使用下面的sysntax,所以我试图自己转换代码。
transferManager.download(downloadRequest).continueWithExecutor(BFExecutor.mainThreadExecutor(), withBlock:
{ (task:BFTask!) -> AnyObject! in
println("test")
})
我在跟踪错误!
Type '()' does not conform to protocol 'AnyObject'
最佳答案
我不确定问题是什么,但切换到常规continueWithSuccess
可以。如果需要在线程上执行块,可以在块内使用grand central dispatch。
例如,如果需要在主ui线程上执行块,可以编写
transferManager.download(downloadRequest).continueWithSuccessBlock({
(task: BFTask!) -> BFTask! in
dispatch_async(dispatch_get_main_queue(), {
println("test")
})
return nil
})
派遣…仅当要在单独的线程上运行块时才需要。