#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"