iOS/π Swift
Optionals - Optionals
woozzang
2020. 10. 9. 11:33
Optionals
1. μ΅μ λμ nil μ λ΄μ μ μλ λ°μ΄ν° νμ μ λλ€.
nil μ ' κ°μ΄ μμ 'μ λνλ΄λ null μ Swift μ ννμ λλ€.
var nonOptional: Int = 6
nonOptional = nil // μλ¬
var myOptional: Int? = 3
myOptional = nil // μ΅μ
λ νμ
μλ nil μ ν λΉ ν μ μμ΅λλ€.
2. μ΅μ λμ λ°μ΄ν°ν λ€μ ' ? ' λ₯Ό μΆκ°ν΄μ ννν©λλ€.
μ΄λ κ² λ§λ νμ μ΅μ λ(λ°μ΄ν°)ν μ΄λΌκ³ μ½μ΅λλ€.
μλ₯Ό λ€μ΄ String? λ₯Ό μ΅μ λ μ€νΈλ§ μ΄λΌκ³ μ½μ΅λλ€.
var gender: String? = "Male"
var address: String? = nil
3. μ΅μ λμ μ΄κ±°νμΌλ‘, 2κ°μ§ κ²½μ°λ‘ λλμ΄ μ μ₯λ©λλ€.
-
κ°μ΄ μλ κ²½μ° = nil
- κ°μ΄ μλ κ²½μ° = Optional( dataType )
* μ΄ κ°μ μ¬μ©νλ €λ©΄ Unwrapping ν΄μΌ ν©λλ€. μ΄κ²μ ' κ°μ μΆμΆνλ€ 'κ³ ννν©λλ€. μ΄ λ΄μ©μ λ€μ κΈμμ λ€λ£Ήλλ€.
public enum Optional<Wraped> : ExpressibleByNilLiteral {
case none
case some(Wrapped)
public init(_ some: Wrapped)
/// μ€λ΅..
/// μΌκ³°λ λμ λ΄ μ½λ μΈμ©
}
4. μ΅μ λμ μ¬μ©μ μ¬λ¬ λ©μμ§λ₯Ό μμν©λλ€.
- " λ³μ λλ μμκ° nil μΌ μλ μμΌλ―λ‘ μ¬μ©μ μ£ΌμνμΈμ "
- κ°μ΄ μλ μ΅μ λ νμ λ³μ λλ μμμ κ°μ λ‘ μ κ·Ό μ λ°νμ μ€λ₯κ° λ°μνκΈ° λλ¬Έμ λλ€.
- " ν¨μμ 맀κ°λ³μκ° μ΅μ
λμΌ κ²½μ°, κ°μ μ λ¬νμ§ μμλ λ©λλ€ "
- nil μ κ³ λ €ν΄μ ν¨μλ₯Ό λ§λ€μμ κ²μ΄κΈ° λλ¬Έμ λλ€.
λ€μ κΈ : [iOS] Optional Unwrapping
[Optionals] Optional Unwrapping
Optional Unwrapping "μ΅μ λμΈ κ°μ μ΅μ λμ΄ μλ κ°μΌλ‘ μΆμΆνλ κ²." nil μ΄ μλ μ΅μ λ κ°μ ν¬μ₯λμ΄ μμ΅λλ€. κ°μ μ¬μ©νλ €λ©΄ κΊΌλ΄μΌ ν©λλ€. μ΄κ²μ Unwrapping μ΄λΌ ν©λλ€. ' κ°μ μΆμΆνλ€ '
woozzang.tistory.com
λ