본문 바로가기

기능

[Swift] Array(String())가 초기화되는 방식이 String.Element?

 


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타입 하나하나가 배열 요소들로 초기화된 것 같다.

뭔가 헷갈리고 어질어질하지만 굉장히 흥미롭다.