У меня есть приложение, написанное на Objective C, и я загрузил его новую версию до 2 месяцев, и все работало отлично, теперь я хочу добавить некоторые вещи, но получаю эту ошибку: Не удается найти объявление протокола для MapViewControllerDelegate
; ты хотел сказать UIPageViewControllerDelegate
?
#import <UIKit/UIKit.h>
@protocol MapViewControllerDelegate <NSObject>
-(void)closeViewController;
@end
@interface RoomServiceViewController : UIViewController
@property (weak,nonatomic) id <MapViewControllerDelegate> delegate;
@end
Не удается найти объявление протокола для MapViewControllerDelegate
; ты хотел сказать UIPageViewControllerDelegate
?
Замените MapViewControllerDelegate
на UIPageViewControllerDelegate
Ссылка на MapViewControllerDelegate
неоднозначна
Вы имеете в виду файл .m?
Откуда перенаправлен 'RoomServiceViewController' этот контроллер просмотра? Этот код я хочу показать
Поскольку вы отметили UIPageViewController и XCode, ваш тип сбивает с толку UIPageViewControllerDelegate: есть ли у вас где-нибудь UIPageViewController, который также относится к вашему протоколу?
Если да: Типы Objective-C не известны в вашем проекте автоматически. Вам нужно включить их заголовочные файлы. В противном случае вы получите забавные догадки.
Другой вариант. Переместите протокол в отдельный заголовочный файл и посмотрите, прояснится ли это.
Кроме того, если вы использовали include вместо import, вы получите странные ошибки компилятора.
Я не понял, почему я получаю эти ошибки, все было в порядке, разница только в моем новом компьютере, проблема в протоколе MapViewControllerDelegate, и у меня проблема со всеми файлами .h, внутри которых этот протокол.
Как насчет переноса протокола в отдельный заголовочный файл? Вы используете #import или #include?
Без проекта сказать невозможно. Контроллер отображается и закрывается. Как насчет точки останова на функции отклонения в контроллере. Проверяем, откуда исходит увольнение.
Я взял протокол и объявил его в новом заголовочном файле, а затем удалил объявление протокола из других файлов, и это сработало для меня, спасибо!
Можете ли вы добавить свой код перенаправления контроллера просмотра, чтобы мы могли понять.