2017-03-14 6 views
0

현재 AWS Mobile Hub와 AWS 서비스를 사용하여 iOS App을 작성 중입니다. AWS Lambda 함수와 연결 한 후 API 게이트웨이를 앱에 구현하는 중입니다. 이 모든 것을 수행 한 후 AWS는 내 프로젝트에 구현할 SDK를 생성했지만 문제는 Swift 2.0에 코드가 있다는 것입니다. Swift 3.0으로 변환하려고하는데이 코드가 무엇을해야하는지/시도하려고했는지 모르므로 변환 방법을 모르겠습니다.Swift 3.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"문에 코드 줄이 있습니다. 감사합니다.

+0

: http://stackoverflow.com/questions/39609791/ delete-last-character-in-swift-3. –

+0

코드를 읽을 수 있습니까? 이것은 버전의 경우는 아니며 코드가 수행하려고 시도하는 경우입니다. 그리고 예, 그것은 후행 "/"문자를 제거하려고합니다. 내 ** 진짜 ** 질문은 왜 당신이 묻는 것입니까? 다른 문제가 있습니까? – dfd

+0

코드를 읽을 수 있습니다. 나는 스위프트에 익숙하지 않고, 다른 문제가 발생하지 않고 있습니다. 오류 "형식"문자열 "의 값이 없습니다 멤버"substringToIndex "" – TheMifflinMan

답변

0

스위프트 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) 

} 

스위프트 내에서 변수를 이름과 함께 작은 편지에서 시작하는 낙타 표기법을 사용하십시오. 더 편리한 방법 :

문자열에서 마지막 문자를 제거하려고, 그래서 이것은 당신이 찾고있는 무엇을 할 수있는 (매우 취약)과 같은
var urlString: String = "https://XXXXX.execute-api.XXXX.amazonaws.com/prod" 
if urlString.hasSuffix("/") { 
    urlString = String(urlString.characters.dropLast()) 
} 
+0

그 코드를 작성하지 않았다. 내가 말했듯이, AWS를 통해 생성되었습니다. 하지만 고마워. – TheMifflinMan

관련 문제