Как объявить протокол в отдельном заголовочном файле - PullRequest
0 голосов
/ 21 июля 2011

У меня есть два класса.Оба эти класса являются делегатами друг друга.Это дает мне ошибку типа «Не могу найти объявление протокола».После поиска в сети я пришел к выводу, что это случай циклической зависимости.

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

Ответы [ 3 ]

2 голосов
/ 21 июля 2011

У меня есть пример для вас ..

@class ClassA;
@class ClassAController;

@protocol CreateClassADelegate
-(void)CreateClassA:(ClassAController *)sender didCreateClassA:(ClassA *)ClassAObj;
-(void)CreateClassACancel:(TSInputController *)sender;
@end
0 голосов
/ 21 июля 2011

Если вы используете XCode 4, вы просто создаете новый файл, как всегда, разница в том, что вам нужно выбрать Objective-C protocol в разделе Cocoa Touch вместо Objective-C class или UIViewController subclass.
Другой подход, который вы можете использовать, - создать новый Objective-C class, а затем просто вручную удалить файл .m и изменить @interface на @protocol в файле .h.

0 голосов
/ 21 июля 2011

Проверьте ответ @ Toro в этом предыдущем вопросе SO UIViewController вызывает делегата друг друга

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