관리 메뉴

김종권의 iOS 앱 개발 알아가기

[iOS - swift] Optional Operator (옵셔널 프로퍼티 연산) 본문

iOS 응용 (swift)

[iOS - swift] Optional Operator (옵셔널 프로퍼티 연산)

jake-kim 2024. 2. 5. 01:13

Optional Property 연산

  • Optional 타입인 프로퍼티가 있을때 여기에 특정 값을 더하거나, 빼거나 연산을 하고 싶은 경우 보통 아래처럼 작성
    • Optional binding을 시도한 후 값이 있는 경우에 10을 새로 더하는 방식
var intValue: Int? = 10

func addTen() {
    if let intValue {
        self.intValue = intValue + 10
    }
}
  • 프로퍼티에 ? 를 사용하면 더욱 편리하기 표현이 가능
func addTen() {
    intValue? += 10
}

번외 - 조건문에서 사용

  • Optional타입은 enum으로 정의되어 있고 .some으로 접근하면 바로 optional binding가 가능
let optionalString = Optional<String>("jake")

switch optionalString {
case .none:
    print("this is nil")
case let .some(value):
    print("some value = ", value)
}

// some value = jake
  • 이 뿐만 아니라 위에서 알아본 Optional Property를 연산했던것과 마찬가지로 ? 로 더욱 간결하게 접근도 가능
switch optionalString {
case .none:
    print("this is nil")
case let unwrappedValue?:
    print("unwrappedValue = \(unwrappedValue)")
}
Comments