swift - 将 Swift 2.0 转换为 Swift 3.0

标签 swift string amazon-web-services swift3 substring

我目前正在使用 AWS Mobile Hub 和 AWS 服务编写 iOS 应用程序。在将 API Gateway 与 AWS Lambda 函数连接后,我正在将 API Gateway 实现到我的应用程序中。完成所有这些之后,AWS 生成了一个 SDK 供我在我的项目中实现,但问题是,代码是 Swift 2.0 中的。我正在尝试将其转换为 Swift 3.0,但我不知道这段代码应该做什么/试图做什么,所以我不知道如何转换它。

我的问题是,如何将这一行转换为 Swift 3.0?

var URLString: String = "https://XXXXX.execute-api.XXXX.amazonaws.com/prod"
    if URLString.hasSuffix("/") {

        URLString = URLString.substringToIndex(URLString.startIndex.advancedBy(URLString.lengthOfBytesUsingEncoding(NSUTF8StringEncoding) - 1))

    }

问题出在“if”语句中的代码行。 谢谢。

最佳答案

Swift 3 版本:

var URLString: String = "https://XXXXX.execute-api.XXXX.amazonaws.com/prod"
if URLString.hasSuffix("/") {
    let index = URLString.index(URLString.startIndex, offsetBy: (URLString.characters.count - 1))
    URLString = URLString.substring(to: index)

}

请使用小写字母开头的驼峰命名法在 Swift 中命名变量。更方便的方式:

var urlString: String = "https://XXXXX.execute-api.XXXX.amazonaws.com/prod"
if urlString.hasSuffix("/") {
     urlString = String(urlString.characters.dropLast())
}

关于swift - 将 Swift 2.0 转换为 Swift 3.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42793326/

相关文章:

ios - 如何用 ReactiveCocoa 完成这个

swift - 使用输入参数崩溃在 Swift 中子类化 CIFilter

java - 我可以禁用 JVM 字符串池吗?

java - 使用Java JDBC的UDF函数不起作用

Swift 3 相当于 C++ 中的 "system()"

python - 类型 <type 'numpy.string_' > 和 <type 'str' > 有什么区别?

python - 如何创建一个函数来查看字符串中的单个字母?

amazon-web-services - 使用 CloudFormation 脚本更新现有的 Eventbridge 规则以包含新目标

php - 403 - 禁止 : Trying to get WordPress to Run on AWS

ios - 准备 segue : Cannot convert value of type 'UIViewController' to specified type 'SecondViewController'