iOS/Swift

[Swift] 옵셔널에 대해

유훈 | Yuhun 2022. 1. 22. 22:33
반응형

옵셔널은 nil을 할당할 수 있는지 알려주는 옵션이라고 볼 수 있다.

?로 기본적으로 옵셔널 사용이 가능하면 !로 암시적 옵셔널을 사용할 수도 있다.

// 옵셔널 - 값이 있을 수도 있고 없을 수도 있다.
// nil이 들어올 수 있다 없다 설정 가능

// 옵셔널 선언 예시

// 다른 데이터 타입과는 다름으로 다른 타입과 연산 불가
var b: Int? // 직관적인 표현법 - b에는 nill이 할당될 수 있다.

// nil을 넣어두고 접근 할 수 없는 옵셔널
var c: Int! // ?와는 조금 다른 옵셔널


// 옵셔널 추출 -> 옵셔널은 그냥 할당하면 다른 타입이라 에러 발생
// 그래서 if 문을 이용한다.
var a: String? = nil

if let ex:String = a{
    print("a is \(ex)") // a에 string이 할당될때
} else{
    print("a is nil") // a가 nil일때
}

// 강제 추출
// !를 이용해 값을 강제로 추출할 수 있으나 현재 nil 이기에 error 발생
print(a!)

출처 : 야곰 스위프트 기본 문법 강좌

반응형

'iOS > Swift' 카테고리의 다른 글

[Swift] 열거형  (0) 2022.01.23
[Swift] 구조체, 클래스, 프로퍼티, 프로퍼티 감시자  (0) 2022.01.22
[Swift] 조건문, 반복문  (0) 2022.01.22
[Swift] 함수  (0) 2022.01.22
[Swift] Array, Dictionary, Set  (0) 2022.01.22