Не удается найти объявление протокола для 'MapViewControllerDelegate'; Вы имели в виду «UIPageViewControllerDelegate»? - PullRequest
0 голосов
/ 06 мая 2019

У меня есть приложение, написанное для цели 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 неоднозначна

1 Ответ

0 голосов
/ 06 мая 2019

Поскольку вы пометили UIPageViewController и XCode, ваш тип путает с UIPageViewControllerDelegate: у вас есть где-нибудь UIPageViewController, который также ссылается на ваш протокол?

Если да: типы Objective-C автоматически не известны в вашемпроект.Вы должны включить их заголовочные файлы.В противном случае вы получите смешные лучшие догадки.

Другой вариант.Переместите протокол в отдельный заголовочный файл и посмотрите, не прояснилось ли это.

Кроме того, если вы используете вместо импорта include, вы получите странные ошибки компилятора.

...