什么是NSParameterAssert
?
有没有人能举例说明一下?
发布于 2010-03-26 13:24:15
这是一种测试方法的参数是否为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
https://stackoverflow.com/questions/2521275
复制相似问题