어플리케이션이 동작하는 도중에 생성하는 다양한 결과값을 동적으로 확인하고 안전하게 처리할 수 있도록 확인하고 빠르게 처리한다.
var someInt: Int = 0
assert(someInt == 0, "someInt == 0")
someInt = 1
assert(someInt == 0, "someInt != 0")// 동작 중지, 검증 실패
assert를 활용한 함수
func functionaWithAssert(age: Int?){
assert(age != nil, "age == nil")
assert((age! >= 0) && (age! <= 130), "나이값이 잘못되었다.")
print("당신의 나이는 \(age!)세 입니다")
}
functionWithAssert(age: 50)
func functionWithGuard(age: Int?){
//언랩핑을 먼저 해본다
guard let unwrappedAge = age,
unwrappedAge < 130,
unwrappedAge >= 0 else{
print("나이값 입력이 잘못되었습니다")
return
}
print("당신의 나이는 \(unwrappedAge)세 입니다")
}
var count = 1
while true{
guard count < 3 else{
break
}
print(count)
count +=1
}
func someFunction(info: [String: Any]){
guard let name = info["name"] as? String else{ return}
guard let age = info["age"] as? Int, age>=0 else{ return }
print("\(name): \(age)")
}
someFunction(info: ["name": "jenny","age":"10"])
someFunction(info: ["name": "mike"])
someFunction(info: ["name": "dora","age":10])