티스토리 뷰

Develope/Swift

Swift 기초 - Optional 변수 (?)

Jason park@ 2016. 6. 11. 23:56
반응형



*Swift Optional

보통 옵션이라 하면 해도되고 안해도 되는 그런 의미인데

마찬가지로 스위프트에서 옵셔널 기능은, 변수에 nil 이 들어가도 된다는것을 의미한다.


사용은 변수명의 자료형 뒤에 물음표(?) 를 붙이면 된다.


플레이그라운드에서 물음표를 붙이고 떼고 해보면 에러가 나고 안나고를 확인 할 수 있다.



예제를 따라 다양하게 작성해본 코드입니다. 




변수에 nil 체크 ( 5~9라인 )

if let 을 활용한 optional binding 활용방법 ( 14~26 라인 )

( 바인딩이 될 경우, 즉 nil이 아닌 경우에 사용 )

[보충 : 이와같은 형태로도 쓸수 있다 ] 

if let actualNumber = Int(possibleNumber) {

    print("\"\(possibleNumber)\" has an integer value of \(actualNumber)")

} else {

    print("\"\(possibleNumber)\" could not be converted to an integer")

}

if let firstNumber = Int("4"), secondNumber = Int("42") where firstNumber < secondNumber {

    print("\(firstNumber) < \(secondNumber)")

}



그리고 AND (&&) 연산자와 같은 기능을 제공하는 ( ?? ) 연산자.. 

(차이점은 AND 연산은 TRUE, FALSE 를 반환하는 반면 ?? 연산자는 값을 반환한다는것 )  


앞의 변수가 nil 이 아니면 앞의 변수를, 그렇지 않으면 뒤의 변수를 사용하는 형태이다.


만약 둘다 nil 이라면 ?

let nickName1: String? = nil

let fullName1: String? = nil

let informalGreeting1 = "Hi \(nickName1 ?? fullName1)" 






"Hi nil" 이 출력된다. 




다음에서 발췌: Apple Inc. ‘The Swift Programming Language (Swift 2.2).’ 

iBooks. https://itun.es/kr/jEUH0.l

반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함