SWIFT TIPS - optional value 처리 방법
SWIFT는 C와 유사하지만 Type Strong Language로써
C나 Objective C에서 처럼 nil 값을 함부로 사용할 수 없다.
SWIFT 상에서 변수에 값이 있는지 없는지 여부를 활용하기 위한
optional value에 대해서 간단히 요약해 본다.
optional 변수 선언 방법
특정 변수가 값을 갖거나 nil값을 가져야 하는 경우,
변수를 다음과 같이 선언하면 optional 변수가 된다.
var someNumber : Int?
그러면 이 변수가 값을 가졌는지
확인 하는 방법은 다음과 같다.
Objective C와 유사한 방법으로,
if 문으로 nil과 비교할 수 있다.
if (someNumber == nil) {
print("someNumber에는 값이 없습니다. nil")
} else {
print("someNumber의 값은 \(someNumber)입니다")
}
SWIFT스럽게 조금 바꿔보면
if let을 사용해 optional을 처리할 수 있다.
if let number = someNumber {
print("someNumber의 값은 \(number) 입니다.")
} else {
print("someNumber에는 는 값이 없습니다. nil")
}
이렇게 표현이 가능하다.
함수에서 parameter로 받은 변수는
다음과 같이 guard 키워드를 사용하면,
간단히 처리 할 수 있다.
func doubleNumber(number: Int?) {
guard let number = number else {
print("number의 값이 없으므로 그냥 리턴합니다.")
return
}
print("\(number * 2"는 \(number)의 두배 값 입니다.")
}
또, 파라미터로 받은 값이거나
논리적으로 실행 중에 값이 없을 수가 없는 경우에는
강제로 optional을 해제 할 수 있는데,
이를 FORCE UPWRRAPING이라고 한다.
let forcedUpwrapNumber = someNumber!
이렇게 했을 경우,
someNumber가 값이 없는 nil 상태이면
해당 앱은 실행 중에 뻗는다.
이상으로 optional 변수와
그 값이 존재할 때와 존재하지 않을 때에 대한
처리 문법을 간단히 알아보았다.
-The Dget -