В моей пользовательской структуре у меня есть метод, подобный показанному ниже, который извлекает значение из словаря и преобразует его в BOOL и возвращает логическое значение.
- (BOOL)getBoolValueForKey:(NSString *)key;
Что делать, если вызывающий объект этого метода передает ключ, который не существует. Должен ли я бросать пользовательский ключ NSException, который не существует (но исключение бросания не рекомендуется в объективе c) или добавить параметр NSError к этому методу, как показано ниже?
- (BOOL)getBoolValueForKey:(NSString *)key error:(NSError **)error;
Если я использую NSError, мне придется возвращать "НЕТ", что будет вводить в заблуждение, поскольку "НЕТ" может быть допустимым значением любого действительного ключа.