import Swift



/*

 

- Assertion

 

 assert(_:_:file:line:)함수를 사용합니다.

 assert 함수는 디버깅 모드에서만 동작합니다.

 배포하는 애플리케이션에서는 제외됩니다.

 예상했던 조건의 검증을 위하여 사용합니다.

 */


var someInt: Int = 0


// 검증 조건과 실패시 나타날 문구를 작성해 줍니다.

// 검증 조건에 부합하므로 지나갑니다.

assert(someInt == 0, "someInt != 0")


someInt = 1


//assert(someInt == 0) // 동작 중지, 검증 실패

//assert(someInt == 0, "someInt != 0") // 동작 중지, 검증 실패

//assertion failed: someInt != 0: file guard_assert.swift, line 26


func fuctionWithAssert(age: Int?) {

    assert(age != nil, "age == nil")

    

    assert((age! >= 0) && (age! <= 130), "나이값 입력이 잘못되었습니다")

    print("당신의 나이는 \(age!)세입니다")

}


fuctionWithAssert(age: 50)

//fuctionWithAssert(age: -1) // 동작 중지, 검증 실패

//fuctionWithAssert(age: nil) // 동작 중지, 검증 실패


// assert(_:_:file:line:)와 같은 역할을 하지만 실제 배포 환경에서도 동작하는 precondition(_:_:file:line:)함수도 있습니다.




+ Recent posts