#옵셔널 optional(회원가입 시 정보 확인)
📎 Swift에서 자료형을 분류하는 기준들
- 기준1: 값이 하나 vs 여러개 ?
- 기본자료형:
Int, String, Bool ##등
- 집단 자료형:
Array, Dictionary, Set, Tuple 등
- 기준2:
nil을 받아들일 수 있는지 vs 없는지 ?
- 옵셔널 타입: nil(O)
- 옵셔널이 아닌 타입: nil(X)
📎 옵셔널 언래핑
- 강제 해제
!
- 간편함
- but.
nil값이 들어있으면 언래핑되면서 앱이 종료된다.(오류)
- 옵셔널 바인딩
if let guard
- 옵셔널 체이닝
📎 옵셔널 사용 예시
var email: String = "abc@d.com"
var phoneNumber = "01012345678"
type(of: email)
*type(of:): 자료형에 대한 정보를 확인할 수 있다.
⛔️ 주의사항
Optional을 사용하지 않으면, email이나 phoneNumber에 잘못된 값이 입력되었을 때 오류가 난다.
‼️해결방법
// email 대응하기
var email: String = "abc@d.com"
if email == nil {
print("이메일을 잘못 작성하셨습니다.")
} else {
print(email!) // 강제 해제(이미 nil이 아닌 것을 확인했기 때문에 가능)
}
// phoneNumber 대응하기
var phoneNumber: String? = "01021232132" // "": String
var resultPhoneNumber = Int(phoneNumber!)
let phoneResult = resultPhoneNumber != nil ? phoneNumber! : "전화번호를 잘못 작성하셨습니다."
print(phoneResult)
#옵셔널 optional(회원가입 시 정보 확인)
📎 Swift에서 자료형을 분류하는 기준들
Int,String,Bool##등Array,Dictionary,Set,Tuple등nil을 받아들일 수 있는지 vs 없는지 ?📎 옵셔널 언래핑
!nil값이 들어있으면 언래핑되면서 앱이 종료된다.(오류)if letguard📎 옵셔널 사용 예시
*
type(of:): 자료형에 대한 정보를 확인할 수 있다.⛔️ 주의사항
Optional을 사용하지 않으면, email이나 phoneNumber에 잘못된 값이 입력되었을 때 오류가 난다.