Когда вы реализуете такой метод, вы можете использовать следующий прием, чтобы вам не приходилось постоянно проверять nil
:
- (void) doSomethingMaybeCausing: (NSError**) error
{
NSError *dummyError = nil;
if (error == NULL)
error = &dummyError;
// ...later:
*error = [NSError …];
}
Теперь вызывающий абонент может передать NULL
, если его не интересуют ошибки.