반응형
assert
- 디버깅 모드에서만 동작한다
- 배포하는 애플리케이션에서는 제외된다.
- 예상했던 조건의 검증을 위하여 사용된다.
사실 이부분이 맘에 든다. 여러 언어들은 검증을 위해 Log를 찍는데 이게 사실 코드를 더럽히는 주된 요인이다.
assert를 이용해서 debug를 하면 보다 더 정확하고 안전한 앱이 개발 될 수 있을 것 같다.
var num : Int = 1;
assert(num == 1, "num != 1"); // num이 1이 맞을경우는 무시, 1이 아닐경우는 "num != 1" 출력 후 중지
assert은 디버그를 보다 쉽게 할 수 있도록 해준다.
guard
- 잘못된 값의 전달 시 특정 실행구문을 빠르게 종료
- 디버깅 모드 외에 다른 조건에서도 동작된다.
- guard는 else와 return, break가 꼭 있어야 한다.
- 타입캐스팅, 옵셔널에서 자주 사용된다.
guard let tempValue = age,
tempValue < 100, // tempValue값이 100보다 작고 0보다 크지 않다면 종료하라는 의미다.
tempValue >= 0 else {
print("잘못 입력되었습니다.");
return;
}
// tempValue값이 100 미만이 아니라면 return 처리
guard tempValue < 100 else {
return;
}
//위 guard 문구가 아래 if문구와 같은 의미이다.
if tempValue < 100 {
} else {
retrun;
}
반응형
'Develop > iOS' 카테고리의 다른 글
Swift 익스텐션 (0) | 2019.05.13 |
---|---|
Swift 프로토콜 (Protocol) (0) | 2019.05.10 |
Swift nil병합 연산자 (0) | 2019.05.10 |
Swift 이니셜라이저와 디이니셜라이저 ( init and deinit ) (0) | 2019.05.10 |
Swift 클래스의 상속 (0) | 2019.05.10 |