What is NSParameterAssert?

后端 未结 1 988
南方客
南方客 2020-12-22 21:05

What is NSParameterAssert?

Can anyone explain with example?

相关标签:
1条回答
  • 2020-12-22 21:26

    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

    0 讨论(0)
提交回复
热议问题