Цель C - Можно ли вызвать метод категории из другой категории того же типа?
Я хотел бы знать, действительно ли реально вызвать метод категории в другой категории того же типа. Я пытался сделать это, но это не похоже на работу. Я хочу знать, что это правильный путь или, по крайней мере, это возможно?
Например:
Файл CategoryA
@implementation UIImage (UIImage+CategoryA)
-(void)doThis {
NSLog(@"Something....");
}
Файл CategoryB
#import "UIImage+CategoryA.h"
@implementation UIImage (UIImage+CategoryB)
-(void)someMethod {
[self doThis]; // Can I do this?
}
Любые обсуждения / ответы / идеи приветствуются.
1 ответ
Решение
Категория добавляет методы к исходному классу. Это Objective-C, поэтому нет концепции управления доступом: если они существуют, они доступны для всех. Поэтому любой, кто имеет указатель на экземпляр класса и знает категорию, может их вызвать. Это включает в себя методы, реализованные в других категориях того же класса.
Так что да, это возможно.