#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