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

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

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

  1. if let ~ 으로 선언된 변수는 블럭 내에서만 사용 가능하나
    guard let ~ 의 블럭은 오류에 대한 처리만 하므로 블럭 외에서 변수 사용 가능.

    if let ~ 도 guard let ~ 도 동시에 여러 변수에 대한 처리 가능.

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s