Это простой способ проверить, что параметр метода не равен 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
Документация Apple для макроса NSParameterAssert ()