멀리 보는 연습

iOS 개발 강의 정리_assert, guard 본문

iOS 앱 개발/Swift

iOS 개발 강의 정리_assert, guard

푸실리 2022. 4. 18. 21:56

 

1. assert

  • assert는 한국어로 굳이 해석하자면 '확인'정도로 표현할 수 있으며, 특정 조건을 체크하고 조건이 성립되지 않으면 메시지를 출력하게 할 수 있는 함수를 말한다.
  • assert 함수는 디버깅 모드에서만 동작하고 주로 디버깅 중 조건의 검증을 위하여 사용한다.
func functionWithAssert(age: Int?) {
    assert(age != nil, "age == nil") //값이 없을 경우
    
    assert((age! >= 0) && (age! <= 130), "나이값 입력이 잘못되었습니다.") //값이 비정상인 경우
    
    print("당신의 나이는 \\(age!)세 입니다.")
}

functionWithAssert(age: 31) // 당신의 나이는 31세 입니다.


// 출처 : 야곰의 스위프트 프로그래밍

 

2. guard

  • 뭔가를 검사하여 그 다음에 오는 코드를 실행할지 말지 결정하는 것
  • guard 문에 주어진 조건문이 거짓일 때 구문이 실행됨
import Foundation

/*
 guard 조건 else{
 // 조건이 false이면 else 구문이 실행되고,
 return or throw or break 를 통해 이 후 코드를 실행하지 않도록 한다.
 }
 */

func guardTest(value:Int){
    guard value == 0 else { return }
    print("안녕하세요")
}
guardTest(value: 0) // 안녕하세요

// 옵셔널 바인딩도 가능
func guardTest(value:Int?){
    guard let value = value else { return }
    print(value)
}
guardTest(value: 2) // 2 출력
guardTest(value: nil) // guard문에 막혀서 함수가 종료되기 때문에 아무것도 출력되지 않음

 

 

Comments