Optionals

장주명·2021년 5월 21일
0

Optionals

목록 보기
1/6
  1. 옵셔널에 저장된 값을 사용하기 위해서는 값을 언레핑시켜야 한다.
  2. nil이 저장된 상태에서 값을 강제 추출시 크레쉬가 발생한다.
  3. 옵셔널 표현식을 언래핑하면 논 옵셔널 타입으로 추출된다.

let str : String = "Swift" // Non-optional Type

str = nil // 컴파일 에러, 항상 값을 가져야 하기 떄문이다.

let str2 : String? = nil // optional String 이라 읽는다. 값을 저장하지 않아도 되는 형식으로 된다.

let a : Int? = nil // optional Int

let b = a // Int타입이 아닌 optional Int다

Forced Unwrapping

print(num) // 래핑된 상태

print(num!) // !를 통해 강제로 랩핑을된 값을 추출하는방법

num  = nil

print(num!) // 하지만 강제로 랩핑된 값이 nil이라면 에러가 발생된다.

if num != nil { // 값이 있을때만 아래 문장을 실행하기떄문에 위의 에러가 발생되지는 않는다. 
                   하지만 크레쉬가 발생될 가능성 떄문에 강제 추출을 권장하진 않는다.
    print(num!)
}

num = 123
let before = num // optional Int
let after = num! // 강제 추출하게되어 Int
profile
flutter & ios 개발자

0개의 댓글

관련 채용 정보