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

#ios #objective-c #xcode #delegates #protocols

#iOS #objective-c #xcode #делегаты #протоколы

Вопрос:

Я перепробовал все, чтобы исправить эту проблему. В некоторых других сообщениях обсуждалось возможное циклическое включение файлов заголовков и использование объявления @class . Я пробовал это, но безрезультатно. Мой код не может найти объявление протокола для моего MapPreferencesDelegate. Я был бы признателен за любую помощь. Я прикрепил скриншоты своего кода ниже!

введите описание изображения здесь

введите описание изображения здесь

Комментарии:

1. Это UITableViewDataSource, А НЕ UITableViewDataSourcem

2. Где MapPreferencesDelegate объявлено? Вам необходимо импортировать этот класс.

3. Может быть, у него действительно есть dataSourcem. Если это так, то это очень плохое название для протокола.

4. @CrimsonChris, очевидно, это была опечатка

5. Не хотел предполагать.

Ответ №1:

Поскольку вы определили свой протокол после того, как используете его в своем классе, вам необходимо переадресовать его. например:

 @protocol MyProtocol;

@interface MyViewController : UIViewController<MyProtocol>

// etc...

@end

@protocol MyProtocol

- (void)aMethod;

@end