무엇입니까 NSParameterAssert
?
누구든지 예를 들어 설명 할 수 있습니까?
답변:
메소드의 매개 변수가 nil
0 이 아닌지 테스트하는 간단한 방법입니다. 따라서 기본적으로이를 사용하여 일부 매개 변수를 설정해야한다는 전제 조건을 생성합니다. 설정되지 않은 경우 매크로는 응용 프로그램을 중단하고 해당 줄에 오류를 생성합니다. 그래서:
- (void)someMethod:(id)someObjectThatMustNotBeNil
{
// Make sure that someObjectThatMustNotBeNil is really not nil
NSParameterAssert( someObjectThatMustNotBeNil );
// Okay, now do things
}
전제 조건은 프로그래머가 메서드 / API를 올바르게 호출하는지 확인하는 간단한 방법입니다. 프로그래머가 전제 조건을 위반하면 응용 프로그램이 조기에 종료됩니다. 디버깅 및 기본 테스트 중입니다.
NSParameterAssert
모든 표현식이 참인지 테스트하는 데 사용할 수 있으므로 다음과 같이 사용할 수도 있습니다.
NSParameterAssert( index >= 0 ); // ensure no negative index is supplied
Release
. ENABLE_NS_ASSERTIONS
최신 버전의 Xcode에서 빌드 설정을 설정하거나 NS_BLOCK_ASSERTIONS
매크로 를 정의하고 1 로 설정하여이를 제어 할 수 있습니다 . Xcode 5에는 빌드 설정을 설정하고 기본값을 Yes
in Debug
및 No
in으로 설정하는 프로젝트 설정 * Enable Foundation Assertions Release
구성.