我正在将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
        })

派遣…仅当要在单独的线程上运行块时才需要。

07-28 10:49