iOS Swift - Optional

longlivedrgn·2022년 8월 1일
0

swift문법

목록 보기
6/36
post-thumbnail

옵셔널이란?

  • 값이 있을 수도 없을 수 도 있는 것!-> 어떤 값 또는 nil을 가지고 있는 것!
let optionalNum : Int? = nil

옵셔널 바인딩

-> 옵셔널의 값을 가져오는 방법!

  1. if let name: Type = OptionalExpression {
    statements
    }
  2. while let name: Type = OptionalExpression {
    statements
    }
  3. guard let name: Type = OptionalExpression {
    statements
    }
  • Type을 없애서 표현하기도 한다.첫번째 if let의 경우, 만약 OptionalExpression이 nil이 아니라면 괄호 안의 statement를 실행한다.
  • Optionalexpression(num)을 unwrapping하여 상수 n에 저장을 한다. 성공하면(num에 저장된 값이 있다면) if 문 이하를 실행한다.
var num : Int? = nil

if let n = num {
    print(n)
} else {
    print("Empty")
}

empty( 왜냐하면 아무 값도 저장되지 않았기에)

  • 옵셔널 바인딩에서는 n이라고 안하고 같은 문자를 사용하여도 문제가 되지 않는다
if let num = num {
    print(num)
} else {
    print("Empty")
}

Nil-Coalescing Operator

  • 표현방법은 아래와 같다.

    OptionalExpression ?? Expression

var input: String? = "Swift"

// 먼저 OptionalExpression가 값을 Return하고 있는 지 확인한다.(nil인지), 값이 없다면(nil이라면) 그냥 Expression을 return한다.
let str = "Hello, " + (input ?? "Stranger")
print(str)

0개의 댓글