Я хотел убедиться, что это исправление действительно работает и не окажет неблагоприятного воздействия на мой код:
Я создал статическую библиотеку с общедоступным заголовком MyClass.h, остальную часть моего кода все скрыто. MyClass использует протокол MyProtocol, который определен в MyProtocol.h. Я хочу, чтобы MyProtocol.h был скрытым, но поскольку MyClass.h является общедоступным заголовком, он не может найти MyProtocol.h, если я попытаюсь скрыть его как заголовок проекта. Мое решение:
MyClass.h:
@interface MyClass : NSObject {
//instance variables
}
// methods
@end
MyClass.m:
#import "MyProtocol.h"
@interface MyClass()
@end
@implementation MyClass
// implementation
@end
Я не видел других примеров подобных действий, кроме как здесь: Может ли категория одновременно реализовывать протокол? , и проблема / ответы не имели отношения к исходному вопросу. Поэтому я хотел быть уверенным, что это действительно так, как кажется, и / или посмотреть, есть ли лучший способ добиться того, что я пытаюсь сделать.