Кажется, я получаю новую ошибку при использовании LLVM Compiler 2.0, чего у меня раньше не было.
У меня есть протокол под названием DTGridViewDelegate, который определяется как:
@protocol DTGridViewDelegate <UIScrollViewDelegate>
У меня есть свойство, называемое delegate
в DTGridView (подкласс UIScrollView, который сам имеет свойство delegate
). Это определяется как:
@property (nonatomic, assign) IBOutlet id<DTGridViewDelegate> delegate;
Теперь я получаю сообщение:
DTGridView.h:116:63: error: property type 'id<DTGridViewDelegate>' is incompatible with type 'id<UIScrollViewDelegate>' inherited from 'UIScrollView'
Поскольку я сказал, что DTGridViewDelegate соответствует UIScrollViewDelegate, я думал, что это будет нормально переопределить это свойство таким образом, и действительно, это первый компилятор, предлагающий проблему.
Я исправил ошибку, объявив свойство как таковое:
@property (nonatomic, assign) IBOutlet id<DTGridViewDelegate, UIScrollViewDelegate> delegate;
Мне интересно, это проблема компилятора?