Xcode Optional
Optionals
Optional Binding
Implicitly Unwrapped Optionals
Type! IUO로 자동으로 추출된다고 생각하면 된다.
let num : Int! = 2
let a = num
a // ontional(2)
형식 추론으로는 언레핑 되지않는다.
let b: int = num
b // 2
이런식으로 특정 조건에서 언레핑 되어야할때 바로 언레핑이 되게 한다.
그래서 nil값이 있다면 에러가 발생한다. 잘 사용하지 않는다.
옵셔널 바인딩을 쓰는것이 다 합당하다.
Nil-Coalescing Operator
var msg = ""
var input: String? = "Swift"
if let inputName = input {
msg = "Hello," + inputName
} else {
msg = "Hello, Stranger"
}
print(msg) // "Hello, Swift"
var str = "Hello," + (input != ? input! : "Stranger")
print(str) // "Hello, Swift"
둘다 같은 방식이다
Nil-Coalescing Operator - 문법 a ?? b
str = "Hello, " + (input ?? "Stranger")
print(str) // "Hello, Swift"
input = nil
str = "Hello, " + (input ?? "Stranger")
print(str) // "Hello, Stranger"
?? 뒤에 만약 해당 값이 nil이라면 나올 값을 지정한다(타입은 같아야한다.)
논리 연산자와 마찬가지로 단락을 평가하여 왼쪽 값이 없다면(nil)일때 값을 리턴해주는 값이다.
Optional Chaining
옵셔널을 연속해서 호출하기
- 체이닝의 결과는 옵셔널이다
- 하나라도 nil을 리턴한다면 해당 문장을 nil로 리턴한다.
Author And Source
이 문제에 관하여(Xcode Optional), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@isouvezz/Swift-Optional저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)