什么NSParameterAssert
啊
有人可以举例说明吗?
Answers:
这是一种测试方法参数是否为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中,有一个项目设置* Enable Foundation Assertions`设置构建设置,默认设置为Yes
inDebug
和No
in。Release
配置。