iOS swift
swift-optional(옵셔널)
춘행이
2022. 2. 24. 13:45
728x90
옵셔널
선택적이라는 뜻으로 값이 있을 수도 있고 없을 수도 있다
변수의 자료형 뒤에?를 붙여서 옵셔널 변수 선언
var optionalName:String?="choi"
print(optionalName) // Optional("choi")라고 출력
var otherName:String = optionalName//에러
optionalName은 옵셔널 변수이기 때문에 choi라고 출력되지 않고 Optional("choi")로 출력된다
실행되기 전까지 값이 있는지 없는지 몰라서 대입 불가
옵셔널 바인딩
Optional("choi")처럼 출력된 것을 해제하는 법
옵셔널 바인딩은 옵셔널의 값이 존재하는지를 검사한 뒤, 존재한다면 그 값을 다른 변수에 대입
if let 또는 if var를 사용
옵셔널의 값을 벗겨서 값이 있다면 if문 안으로 들어가고, 값이 nil이라면 그냥 통과
if let name = optionalName{
print(name)
}//optionalName에 값이 있으면 출력
//없으면 if문 지나침
여러 개의 옵셔널 바인딩하는 법
var optionalName1:String? = "choi1"
var optionalName2:String? = "choi2"
if let name1 = optionalName1, name2 = optionalName2{
//name1,name2 전부 값이 있을때
}
//위와 동일
if let name1 = optionalName1 {
if let name2 = optionalName2 {
}
}
참고
https://devxoul.gitbooks.io/ios-with-swift-in-40-hours/content/Chapter-2/optionals.html
728x90