Определение протокола не найдено

#iphone #cocoa-touch #protocols #definition

#iPhone #cocoa-touch #протоколы #определение

Вопрос:

У меня возникли небольшие проблемы с получением определения протокола для работы, и это, должно быть, глупая ошибка. Я включил заголовок, в котором находится определение, но я получил предупреждение, поэтому последовал совету создать отдельный файл заголовка. Я все еще получаю предупреждение о том, что определение не может быть найдено (при импорте этого отдельного файла), и даже когда я помещаю определение в файл заголовка класса, использующего его, он выдает предупреждение:

 @protocol SubstitutableDetailViewController <NSObject>
- (void)showRootPopoverButtonItem:(UIBarButtonItem *)barButtonItem;
- (void)invalidateRootPopoverButtonItem:(UIBarButtonItem *)barButtonItem;
@end

@interface LauncherViewController :TTViewController<SubstitutableDetailViewController, TTLauncherViewDelegate> {
    TTLauncherView *launcherView;
}
  

Итак, что я делаю неправильно в своем определении протокола?

[РЕДАКТИРОВАТЬ: Извините, в Xcode, должно быть, какая-то странность, или я схожу с ума, я выполнил чистую сборку, и теперь предупреждение не возвращается… но я не знаю, почему]

Ответ №1:

Поместите этот код в отдельный файл с именем SubstitutableDetailViewController.h (Я бы предпочел SubstitutableDetailViewControllerDelegate.h):

@protocol SubstitutableDetailViewController <NSObject>
- (void)showRootPopoverButtonItem:(UIBarButtonItem *)barButtonItem;
- (void)invalidateRootPopoverButtonItem:(UIBarButtonItem *)barButtonItem;
@end

А затем включите его в LauncherViewController через #import "SubstitutableDetailViewController.h"