Array(String(123)) // ["1", "2", "3"]이렇게 나오는 이유는 뭘까 …?
당연히 ["123"]값이 나올줄 알았는데…Array() 로 초기화하는 과정에서 각 요소들을 하나하나 배열로 반환한것 같았다.
그래서 찾아보았다.
var numbers = Array(String(123))에 값을 넣고 변수에 option키를 눌러 타입을 자세히 확인해보았는데
[String.Element]타입에 배열이었던것이다.
아니… String은 알겠는데… 거기서 .Element는 제네릭인가… 하고 또 클릭해서보니 typealias Element = Character타입으로 지정되어있었다. 고로 String.Element는 결국 Character타입의 요소라고 볼 수있나?
아무튼 마무리를 지어보면 123을 String으
로 형변환을 했었고 그 다음에 추가로 Array()로 형 변환해줄때는 123의 값전체가 아닌 각 Character타입 하나하나가 배열 요소들로 초기화된 것 같다.
뭔가 헷갈리고 어질어질하지만 굉장히 흥미롭다.
'기능' 카테고리의 다른 글
[Swift]옵셔널(Optional)에 대해 알아보자! (0) | 2021.11.28 |
---|---|
[Swift]인스턴스메서드와 타입메서드의 개념과 차이점 (2) | 2021.11.22 |