#옵셔널 optional

minin·2021년 9월 30일
0
post-thumbnail

#옵셔널 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: String = "01012345678"
type(of: email)

*type(of:): 자료형에 대한 정보를 확인할 수 있다.

⛔️주의사항

Optional을 사용하지 않으면, email이나 phoneNumber에 잘못된 값이 입력되었을 때 오류가 난다.

→ Optonal을 사용하여 nil에 대비한다

‼️해결방법

// 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)
profile
🍫 iOS 🍫 Swift

0개의 댓글