2024. 3. 29. 21:38ㆍswift
Swift에서 코드를 만지다 보면 아래와 같이 변수 선언 뒤에 ?(물음표)가 붙은 것을 볼 수 있다.
var index: Int?
이는 Swift에서 옵셔널(Optionals) 변수를 의미한다.
이 개념은 C나 오브젝티브-C에서는 존재하지 않고 오직 스위프트에서만 존재하는 개념이다.
그렇다면 옵셔널 변수는 무엇이고 사용하는 이유를 알아보자.
옵셔널 변수란?
옵셔널(Optionals)은 변수에 어떤 값이 존재하지 않는다는 것을 나타낼 때 사용된다.
즉 변수가 nil이거나 값의 존재 여부를 알 수 없다는 것을 의미한다.
스위프트에서는 변수를 선언할 때 변수에 반드시 값을 할당해야 하지만, 특정 상황에서는 초기값을 선언하기 애매하거나 번거로울 수 있다.
이럴때 변수 선언 뒤에 옵셔널 타입을 사용해서 해당 변수의 값이 없다는 것을 알릴 수 있다.
예시를 살펴보자.
var index: Int?
index = 3
if index != nill {
print(index!)
}
위 예시에서는 index 라는 Int타입의 변수를 선언할 때 초기값을 할당하지 않고 ?(물음표)를 붙여 '값이 없을수도 있다' 라고 표시하고 있다.
그리고 index 변수를 사용하고 싶을 땐 변수 뒤에 !(느낌표)를 붙여 강제 언래핑(force unwrapping)하여 사용해야 한다.
?(물음표)를 붙여서 옵셔널 변수를 선언하고 선언된 변수에 값이 할당되면 그 값은 옵셔널 래핑(warpped)되어 있기에 언래핑 하여 사용해야 하는 것이다.
만약 이런 과정이 불편하다면 옵셔널 변수를 선언할 때 ?(물음표) 대신 !(느낌표)를 사용하여 암묵적인 언래핑(implicity unwrapping)이 되도록 선언할 수 있다.
이렇게 하면 변수의 값에 접근할 때 !(느낌표)를 사용하지 않아도 된다.
var index: Int!
index = 3
if index != nil {
print(index)
}
'swift' 카테고리의 다른 글
Swift 5주차 - 멀티 컴포넌트 피커 뷰 만들기 (0) | 2024.04.05 |
---|---|
Swift 4주차 - 데이트 피커 사용하기 (알람 시계 만들기) (0) | 2024.03.30 |
Swift 3주차 - 이미지 뷰어 만들기 (0) | 2024.03.23 |
Swift 2주차 - Hello World 화면 꾸미기 (feat M.V.C 패턴) (2) | 2024.03.17 |
Swift 1주차 - 1부터 100까지 더하기 (0) | 2024.03.13 |