Open HeegeePark opened 1 year ago
Swift에서의 String은 문자들의 집합
-> Character는 1개 이상의 유니코드 스칼라가 조합
-> 조합되어 만들어진다는것 자체가 그럼 한개의 유니코드 스칼라로 만들어질 수도 있고 여러개의 유니코드 스칼라로 만들어질 수도 있다는것
-> 하나의 Character에 들어오는 유니코드 스칼라의 갯수가 다를 수 있다는것이고 그 말인즉슨 크기가 매번 일정치 않은 가변적일 수 있기 때문에 서브스크립트 접근이 불가능하다.
extension String { subscript(idx: Int) -> String? { guard(0..<count).contains(idx) else { return nil } let target = index(startIndex, offsetBy: idx) return String(self[target]) } }
스위프트의 character는 하나 이상의 Unicode scaler로 이루어져있다. 즉 가변적인 길이이기 때문에 subscript로 접근할 수 없고 String.Index로 접근해야한다.
Swift에서의 String은 문자들의 집합
-> Character는 1개 이상의 유니코드 스칼라가 조합
-> 조합되어 만들어진다는것 자체가 그럼 한개의 유니코드 스칼라로 만들어질 수도 있고 여러개의 유니코드 스칼라로 만들어질 수도 있다는것
-> 하나의 Character에 들어오는 유니코드 스칼라의 갯수가 다를 수 있다는것이고 그 말인즉슨 크기가 매번 일정치 않은 가변적일 수 있기 때문에 서브스크립트 접근이 불가능하다.