[Swift 4] 다양한 배열선언 및 초기화(스타일 비교)
2018. 2. 14. 10:00ㆍIT, Smart Life
스위프트의 가장 기본적인 배열선언 및 초기화 형태는 아래와 같습니다.
Array<아이템타입>() // 제너릭
[아이템타입]()
* 제너릭(Generic) : <>기호를 사용하여 배열 내부에서 사용할 아이템 타입을 지정하는 문법 (Java, C# 에서도 사용)
이 외에도 스위프트에는 다양한 배열선언과 초기화 스타일이 있습니다.
아래는 아이템타입이 String 인 배열을 선언하고 초기화하는 6가지 방식을 비교해 본 것입니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | //: Playground - noun: a place where people can play import UIKit // 다양한 방식의 Swift 배열선언 및 초기화 // case1 var astronaut1 = Array<String>() // case2 var astronaut2 = [String]() // case3 var astronaut3 : [String] astronaut3 = [String]() // case4 var astronaut4 : [String] astronaut4 = [] // case5 var astronaut5 : [String] = [] // case6 var astronaut6 : [String] = Array() // case7 var astronaut7 : Array<String> = [String]() | cs |
어떤 방식이 옳다는 것은 없다고 각자 익숙한 형태를 골라 사용하면 된다고 하는데, 개인적으로는 case1, case2 와 같은 방식을 주로 사용합니다. 가장 깔끔하고 직관적인 것 같습니다.
case3과 case4의 경우는 선언에 이어 바로 초기화를 한다면 case1, case2의 형태가 차라리 나은 것 같고, 선언과 초기화를 별도로 진행한다면 case4의 경우는 아이템 타입을 확인하기 위해, 선언문을 다시 찾아봐야하는 불편함이 있는 것 같습니다.
case5를 쓸 바에는 그냥 case2 형식을 쓰는 것이 좋을 것 같습니다.
case7번과 같은 경우는 선언이 가능하긴 하지만, 저렇게 써야 할 필요성을 못 느끼겠네요.
'IT, Smart Life' 카테고리의 다른 글
[스마트워치] 마라토너가 생각하는 스마트워치의 조건과 애플워치3 Nike+ (0) | 2018.05.16 |
---|---|
[웹 크롤링] "자바스크립트와 Node.js를 이요한 웹 클롤링 테크닉" 구입했습니다^^ (0) | 2018.05.16 |
[Xcode] 아이폰 무선으로 빌드하기(iPhone : Enable Wireless Builds and Debug) (4) | 2018.02.05 |
[Xcode] 아이폰 스토리보드 객체 테두리 보기(Show Bounds Rectangles) (2) | 2018.01.30 |