Int
, String
, Bool
등Array
, Dictionary
, Set
, Tuple
등**nil**
을 받아들일 수 있는지 vs 없는지 ?!
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)