반응형
Swift에서 substringToIndex를 사용하는 방법은 무엇입니까?
이 질문에 이미 답변이 있습니다.
이 줄에서 컴파일러 오류가 발생합니다.
UIDevice.currentDevice().identifierForVendor.UUIDString.substringToIndex(8)
'String.Index'유형이 'IntegerLiteralConvertible'프로토콜을 준수하지 않습니다.
내 의도는 부분 문자열을 얻는 것이지만 어떻게?
Swift에서 String
인덱싱은 자소 클러스터를 존중하며 an IndexType
은 Int
. 두 가지 선택이 있습니다. 문자열 (UUID)을 NSString으로 캐스트하고 "before"로 사용하거나 n 번째 문자에 대한 인덱스를 만듭니다.
둘 다 아래에 설명되어 있습니다.
그러나이 방법은 Swift 버전간에 근본적으로 변경되었습니다. 최신 버전을 읽으십시오 ...
스위프트 1
let s: String = "Stack Overflow"
let ss1: String = (s as NSString).substringToIndex(5) // "Stack"
//let ss2: String = s.substringToIndex(5)// 5 is not a String.Index
let index: String.Index = advance(s.startIndex, 5)
let ss2:String = s.substringToIndex(index) // "Stack"
CMD-Click on은 substringToIndex
혼란스럽게 NSString
정의로 이동하지만 CMD-Click을 클릭 String
하면 다음을 찾을 수 있습니다.
extension String : Collection {
struct Index : BidirectionalIndex, Reflectable {
func successor() -> String.Index
func predecessor() -> String.Index
func getMirror() -> Mirror
}
var startIndex: String.Index { get }
var endIndex: String.Index { get }
subscript (i: String.Index) -> Character { get }
func generate() -> IndexingGenerator<String>
}
@DanielGalasko가 지적한 해설자로서 Swift 2advance
가 이제 변경되었습니다 ...
let s: String = "Stack Overflow"
let ss1: String = (s as NSString).substringToIndex(5) // "Stack"
//let ss2: String = s.substringToIndex(5)// 5 is not a String.Index
let index: String.Index = s.startIndex.advancedBy(5) // Swift 2
let ss2:String = s.substringToIndex(index) // "Stack"
Swift 3 Swift 3
에서는 다시 변경되었습니다.
let s: String = "Stack Overflow"
let ss1: String = (s as NSString).substring(to: 5) // "Stack"
let index: String.Index = s.index(s.startIndex, offsetBy: 5)
var ss2: String = s.substring(to: index) // "Stack"
Swift 4
Swift 4에서 또 다른 변화 :
let s: String = "Stack Overflow"
let ss1: String = (s as NSString).substring(to: 5) // "Stack"
let index: String.Index = s.index(s.startIndex, offsetBy: 5)
var ss3: Substring = s[..<index] // "Stack"
var ss4: String = String(s[..<index]) // "Stack"
참고 URL : https://stackoverflow.com/questions/24904738/how-to-use-substringtoindex-in-swift
반응형
'Programing' 카테고리의 다른 글
jquery에서 텍스트 영역의 값을 얻는 방법은 무엇입니까? (0) | 2020.11.10 |
---|---|
glob 제외 패턴 (0) | 2020.11.10 |
CORS를 활성화하는 것은 언제 안전합니까? (0) | 2020.11.09 |
표현식 트리 란 무엇이며 어떻게 사용하며 왜 사용합니까? (0) | 2020.11.09 |
Meteor를 PhoneGap과 함께 사용할 수 있습니까? (0) | 2020.11.09 |