Я думаю, что в некоторых случаях заголовки Objective-C несут меньше общей информации, но они могут показать интерфейсы более четко.
Например - Используя современные среды выполнения Objective C (для Mac OS и iOS), выне нужно объявлять приватные iVars или приватные методы в заголовках - их можно переместить в категорию в файле реализации.Вы даже можете повторно объявить свойства как readwrite
в реализации, где они объявлены как readonly
в файле заголовка.
Это означает, что в классе происходит намного больше, чем показано в заголовкефайлы, но публичные интерфейсы четко определены отдельно от частной реализации - что хорошо в диаграмме UML.
Что касается длинных имен методов - это часть соглашения Objective-C.Вы можете любить это или ненавидеть это (я лично люблю это).Но с точки зрения написания их методы не показывают свои параметры.Например: предположим, у вас есть метод, объявленный как:
- (NSString *)resultStringWithOptions:(NSDictionary *)options withCharacterSet(NSCharacterSet *)charSet error:(NSError **)error:
Фактическое имя этого метода:
resultStringWithOptions:withCharacterSet:error:
Что короче.