what is NSParameterAssert?can anyone explain with example?
It is a simple way to test that a methods parameter is not nil or not 0. So basically, you use it to create a precondition, stating that some parameter must be set. If it is not set, the macro causes the application to abort and generates an error on that line. So:
- (void)someMethod:(id)someObjectThatMustNotBeNil
{
// Make sure that someObjectThatMustNotBeNil is really not nil
NSParameterAssert( someObjectThatMustNotBeNil );
// Okay, now do things
}
Pre-conditions are a simple way to ensure that methods/API are being called correctly by the programmer. The idea is that if a programmer violates the precondition, the application terminates early--hopefully during debugging and basic testing.
NSParameterAssert can be used to test that any expression evaluates to true, however, so you can use it like this as well:
NSParameterAssert( index >= 0 ); // ensure no negative index is supplied
Use google, or try it out.
Now that you've done that, NSParameterAssert is just like NSAssert except you don't get the option to pass a string detailing what is being asserted - it just logs the expression you pass it.