我目前正在使用 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/