옵셔널 변수를 적절하게 처리하는 예제들.

var productNo: String?
var productTitle: String?

.
.
.

guard let no: String = self.productNo else {
    print("제폼 번호가 전달자로 부터 대입되지 않음. 이후 행등 실행 종료.")
    return
}

print("제품 번호는 \(no)")

.
.
.

if let no: String = self.productNo, let title: String = self.productTitle {
    print("제품 \(title)의 번호는 \(no)")
}

.
.
.

// 변수 대입 시 nil 일 경우 별도값을 지정.
let no: String = self.productNo ?? "1"

.
.
.

// guard의 else return의 적절한 사용예.
func aaa(a: Int?) -> Bool {
    guard let b: Int = a else {
        return false
    }

    if b > 3 {
        return true
    }
    else {
        return false
    }
}
Advertisements