What is NSParameterAssert?

IphoneObjective C

Iphone Problem Overview


What is NSParameterAssert?

Can anyone explain with example?

Iphone Solutions


Solution 1 - Iphone

It is a simple way to test that a method's 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 be true, however, so you can use it like this as well:

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

Apple's documentation for the NSParameterAssert() macro

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionsenthilMView Question on Stackoverflow
Solution 1 - IphoneJason CocoView Answer on Stackoverflow