什么是NSParameterAssert?

什么是NSParameterAssert

任何人都可以用例子来解释

这是一个简单的方法来testing一个方法的参数不是nil或不是0.所以基本上,你用它来创build一个前提条件,说明必须设置一些参数。 如果没有设置,macros会导致应用程序中止并在该行上生成一个错误。 所以:

 - (void)someMethod:(id)someObjectThatMustNotBeNil { // Make sure that someObjectThatMustNotBeNil is really not nil NSParameterAssert( someObjectThatMustNotBeNil ); // Okay, now do things } 

先决条件是确保程序员正确调用方法/ API的简单方法。 这个想法是,如果程序员违反了前提条件,应用程序会提前终止 – 希望在debugging和基本testing期间。

NSParameterAssert可以用来testing任何expression式的结果是否为true,所以你可以像这样使用它:

 NSParameterAssert( index >= 0 ); // ensure no negative index is supplied 

Apple的NSParameterAssert()macros的文档