Я совершенно новое в Objective-C, и я вопрос:Назначение категорий Obj-c в конкретной ситуации.
Я через образец кода какого-нибудь компании Apple и обнаружил следующее:
В верхней части файл, я нашел в использовании категорий Objective-C
@interface EAGLView (EAGLViewPrivate)
- (BOOL)createFramebuffer;
- (void)destroyFramebuffer;
@end
@interface EAGLView (EAGLViewSprite)
- (void)setupView;
@end
Сразу после этого, начинает реализацию класса EAGLView.
Какова настоящая цель категорий здесь, так как 3 функции, описанные выше, также могут быть определены непосредственно в файле заголовка?
Thx
Thx для четкого ответа. Но знаете ли вы, почему, 2 разных категории вместо 1? –
Я не уверен, какой был автор этого намерения кодов. Скорее всего, это всего лишь способ организации методов по их функции, чтобы сделать код немного читабельнее. В тех случаях, когда у вас есть множество частных методов, разделение групп связанных методов может сделать чтение кода, а также рефакторинг проще. Тем не менее, я просто использую комментарии и '#pragma mark', чтобы сделать это сам. –
Хорошо, ваше время. –