从Swift 2.2升级到Swift 3.0后,继续使用`continue`

用户名

我有一个swift项目,并且在那里使用Amazon Web Services。

我有一个负责将图像上传到我的S3存储桶的函数,在Swift 2.2中它运行良好,代码如下:

let credentialsProvider = AWSCognitoCredentialsProvider(regionType:CognitoRegionType,
                                                            identityPoolId:CognitoIdentityPoolId)
    let configuration = AWSServiceConfiguration(region:CognitoRegionType, credentialsProvider:credentialsProvider)
    AWSServiceManager.defaultServiceManager().defaultServiceConfiguration = configuration



let uploadRequest = AWSS3TransferManagerUploadRequest()
uploadRequest.body = NSURL(string: "file://"+pathToFile)
uploadRequest.key = NSProcessInfo.processInfo().globallyUniqueString + "." + ext
uploadRequest.bucket = S3BucketName
uploadRequest.contentType = contentType + ext

let transferManager = AWSS3TransferManager.defaultS3TransferManager()
    transferManager.upload(uploadRequest).continueWithBlock { (task) -> AnyObject! in

        if (task.completed) {
        ...

现在,升级到Swift 3之后,我有了:

let credentialsProvider = AWSCognitoCredentialsProvider(regionType:CognitoRegionType,
                                                            identityPoolId:CognitoIdentityPoolId)
    let configuration = AWSServiceConfiguration(region:CognitoRegionType, credentialsProvider:credentialsProvider)
    AWSServiceManager.default().defaultServiceConfiguration = configuration



let uploadRequest = AWSS3TransferManagerUploadRequest()
uploadRequest?.body = URL(string: "file://"+pathToFile)
uploadRequest?.key = ProcessInfo.processInfo.globallyUniqueString + "." + ext
uploadRequest?.bucket = S3BucketName
uploadRequest?.contentType = contentType + ext

let transferManager = AWSS3TransferManager.default()
    transferManager?.upload(uploadRequest).continueWithBlock { (task) -> AnyObject! in

        if (task.isCompleted) {

现在,在最后一条语句中transferManager?.upload(uploadRequest).continueWithBlock抛出一个错误,指出

'continueWithBlock' has been renamed to 'continue(_:)'

因此,我遵循他们的建议并将其更改为:

transferManager?.upload(uploadRequest).continue { 

但这给我抛出了一个错误:

Ambigous use of continue

可用的方法在这里:

在此处输入图片说明

但我不确定在这种情况下可以使用哪一个。你能帮我吗?

用户名

好的,我发现了这个问题,它比我想象的要容易...在这里提到:https : //github.com/aws/aws-sdk-ios/issues/473并说要更改

transferManager?.upload(uploadRequest).continue { ... }

transferManager?.upload(uploadRequest).continue ({ ... })

在这种情况下,方法命名确实很烦人,但可以。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将项目从Ionic 2升级到Ionic 3后,显示模块“ d3”错误

从Swift 4升级到4.1后的投放问题

将项目从Vue2升级到Vue3的最佳方法

将Azure WebApp从S3升级到Premium V2

Yii2-将Bootstrap 3升级到4

将笔记本电脑从SATA 2升级到SATA 3

将Swift 3升级到4,不再在目标C中进行Swift扩展

将Windows 8.1升级到10后修复grub2(奇怪的情况)

将android studio 1升级到2后出现错误,无法启动

从Angular2升级到Angular4后,ng build --prod失败

从12.04升级到14.04后libxml2的问题原因

将spec2升级到2.10后,匹配器'haveTheSameElementsAs'似乎丢失了

升级到Swift 3后UITableView坏了

是否可以将Windows Server 2008 SP2上的PowerShell 3升级到更高版本?

urlmappings更改-grails 2到3升级

升级到Swift 3时使用未声明的类型

iOS9和Swift 2升级后,从FacebookSDK登录中出现的“以“空”打开此页面”模态

将struts2从2.3.7升级到2.3.33后出现JSONWriter.setDateFormatter的NoSuchMethodError

将Spring Boot版本从1.3.5升级到1.4.2后,DB2ZOS方言不起作用

使用Xcode 7和Swift 2编写项目时升级到Xcode 7.1是否安全?

将angular从4升级到6时使用angular2-jwt和AuthHttp的问题

从Spring Security 3升级到Spring Security 4后是否获得异常?

从版本3升级到版本4后,tinyMCE无法再拖放图像

从休眠3升级到休眠4后,getHibernateTemplate.find()无法正常工作

从Ubuntu 12.04升级到14.04后,Aptana Studio 3无法正常工作吗?

从Rails 3升级到Rails 4后,CarrierWave url nil

从18.04升级到18.10后,gdm3默认不会启动

Angular 2升级到RC 1

在将我的应用程序从Rails 3.2.13升级到4.2后,link_to停止工作(错误的参数数量(0表示0表示2)