Что такое NSParameterAssert? - PullRequest
82 голосов
/ 26 марта 2010

Что такое NSParameterAssert?

Может кто-нибудь объяснить примером?

1 Ответ

114 голосов
/ 26 марта 2010

Это простой способ проверить, что параметр метода не равен 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 ()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...