Соответствие протоколам из категорий в Objective-C - PullRequest
0 голосов
/ 10 мая 2018

В Objective-C, почему, если у вас есть категория для класса и вы соответствуете протоколу в категории, почему основной класс не знает, что вы соответствуете этой категории?

Например, некоторый псевдокод

файл основного класса

@implementation SessionManager

[SessionManager alloc] initWithDelegate:self]; // warning from Xcode saying that SessionManager is not the appropriate type

файл категории

@interface SessionManager (SomeCategory) <SessionManagerProtocol>

Но если я просто переместу объявлениесоответствие протоколу в файле основного класса

@interface SessionManager : NSObject <SessionManagerProtocol>

В этом случае компилятор не выдает предупреждение.Лучше всего объявить о своем соответствии в файле основного класса?

1 Ответ

0 голосов
/ 10 мая 2018

Вам необходимо импортировать файл категории .h в файл основного класса .m, чтобы компилятор мог знать, что эти методы были объявлены в категории класса, и он не будет отображать предупреждение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...