반응형
Swift가 가지고 있는 가장 큰 특징 중 하나가 바로 옵셔널Optional입니다. 직역하면 '선택적인' 이라는 뜻이 되는데요. 값이 있을 수도 있고 없을 수도 있는 것을 나타냅니다.
https://devxoul.gitbooks.io/ios-with-swift-in-40-hours/content/Chapter-2/optionals.html
[옵셔널 변수]
import UIKit
//옵셔널이란 ?
// 값이 있는지 없는지 모른다.
// nil -> 값이 없다.
var someVariable : Int? = nil
if someVariable == nil {
someVariable = 90
}
print("언래핑이 안되었다. 즉 아직 모른다 -> someVariable : \(someVariable)")
Optional <- 값이 있는지 없는지 모른다.
nil -> 값이 없다.
[결과]
언래핑이 안되었다. 즉 아직 모른다 -> someVariable : Optional(90)
래핑이 되어 있는 값 반환
[언랩핑_No.1]
if let otherVariable = someVariable {
print("언래핑 되었다 . 즉 값이 있다 -> otherVariable : \(otherVariable)")
}
else{
print("값이 없다. ")
}
[결과]
언래핑 되었다 . 즉 값이 있다 -> otherVariable : 90
알맹이만 쏙 끄집어내서 출력하게 된다.
위의 if 문을 더 간단하게 작성하는 방법도 있다.
someVariable = nil
// someVariable 이 비어있으면 즉 값이 없으면 기본값으로 요놈을 넣겠다
let myValue = someVariable ?? 10
print("myValue : \(myValue)")
?? -> 만약에 someVariable 에 값이 없으면 10 을 넣겠다.
[언랩핑_No.2]
var firstValue : Int? = 30
var secondValue : Int? = 40
옵셔널 변수 선언하였다.
함수로 언랩핑을 진행해 본다.
func unwrap(parameter : Int?){
print("unrwap() called")
guard let upWrappedParam = parameter else{
return
}
print("upWrappedParam \(upWrappedParam)")
}
guard let upWrappedParam = parameter else{
return
}
이 코드도 parameter 에 값이 있으면 upWrappedParam에 값을 넣겠다 !
[결과]
unwrap(parameter : firstValue)
unwrap(parameter : secondValue)
->
unrwap() called
upWrappedParam 30
unrwap() called
upWrappedParam 40
반응형
'App Dev > iOS' 카테고리의 다른 글
SwiftUI 개발 macOS 환경설정 및 Image HStack VStack padding 기초문법 활용해보자 ! (2) | 2023.05.04 |
---|---|
iOS Swift 함수 매개변수 사용 방법 ( 변수명 변경, 생략) (0) | 2023.04.03 |
iOS Swift <T> Generic 제네릭 사용법 (0) | 2023.03.28 |
iOS Swift Enum 열거형은 어떻게 쓰는 걸까 ? (0) | 2023.03.27 |
iOS Swift Foreach 반복문 기초문법 사용법 알아봅시다 (0) | 2023.03.27 |
iOS SwiftUI Webview 를 띄우기 위한 Xcode 14.x 사전 세팅 및 개발 (0) | 2023.03.09 |