Optionals
987 ワード
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
Reference
この問題について(Optionals), 我々は、より多くの情報をここで見つけました https://velog.io/@isouvezz/Optionalsテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol