반응형
스위프트에는 다른 언어에서는 볼 수 없는 옵셔널 타입(Optional Type)이란 것이 있다.
변수에 아무런 타입의 값이 할당되지 않았을 때를 대비한 타입이다.
방법은 변수 선언 끝에 ? 를 붙이는 것이다.
예를 들어
var test:String?
이라는 변수를 선언했다고 가정하면
test변수는 String 타입을 가지거나 비어있는 값이 올 수 있다.
값이 비어있다면 nil로 들어가는데 nil은 타 언어의 NULL이라고 생각하면 된다.
(엄밀히 따져보면 다르다고 한다. 일단 비슷한 느낌으로 이해하자)
이렇게 변수가 옵셔널 타입이라면 그 변수는 래핑되었다고 말한다.
옵셔널 타입의 변수에서 값을 꺼내 쓸때는 !를 붙여야 한다.
var test:String?
test = "테스트"
print(test!)
와 같은 형태로 사용할 수 있다.
또한 암묵적인 언래핑이 되도록 선언할 수 있다.
암묵적인 언래핑으로 선언했을 때는 그 전과 다르게 굳이 !를 써서 값을 뽑아내지 않아도 된다.
하지만 변수 선언 시 ?가 아닌 !로 선언해야 한다.
var test:String!
test = "테스트"
print(test)
'Coding > Etc' 카테고리의 다른 글
iOS 스위프트(Swift) HTTP 연결 권한 설정하는법 (0) | 2018.01.02 |
---|---|
Swift Cocoapods 사용해서 Alamofire 설치하는법 (0) | 2018.01.02 |
파이썬 TypeError: 'list' object is not callable 오류 해결 (0) | 2017.11.08 |
-bash: cannot create temp file for here-document: No space left on device 오류해결 (0) | 2017.10.08 |
add-apt-repository: command not found 오류해결 (0) | 2017.07.12 |