Open seohyeon2 opened 1 year ago
String은 유니코드로 변환해서 사용하기 때문에 같은 String도 다른 값을 가지고 있을 수 있어서 Int와 같은 index로 접근할 수 없다. 하지만, Int가 아닌 String.index로의 접근은 가능하다.
Swift의 String은 Struct타입이고, characters의 collection이다. 즉 Array
하지만 Swift에서 String은 subscript, 즉 str[0]같이 Int로 접근하지 못하고, String.index로 접근해야한다.
그 이유는 Swift에서 Character는 1개 이상의 Unicode Scalar로 이루어져 있다. 즉 크기가 가변적이다.(스위프트가 메모리 최적화를 하기 때문에)
String은 Character의 모음인 유니코드의 문자열 값으로 Int 인덱스로 접근할 수 없어 String의 인덱스 값으로 접근해야 합니다.
꼬리질문