UIScrollView имеет свойство делегата, которое соответствует UIScrollViewDelegate.
protocol UIScrollViewDelegate : NSObjectProtocol {
//...
}
class UIScrollView : UIView, NSCoding {
unowned(unsafe) var delegate: UIScrollViewDelegate?
//...
}
UICollectionView переопределяет это свойство другим типом UICollectionViewDelegate
protocol UICollectionViewDelegate : UIScrollViewDelegate, NSObjectProtocol {
//...
}
class UICollectionView : UIScrollView {
unowned(unsafe) var delegate: UICollectionViewDelegate?
//...
}
Когда я пытаюсь переопределить делегат UIScrollViews своим протоколом следующим образом:
protocol MyScrollViewDelegate : UIScrollViewDelegate, NSObjectProtocol {
//...
}
class MyScrollView: UIScrollView {
unowned(unsafe) var delegate: MyScrollViewDelegate?
}
компилятор дает мне два предупреждения:
- Свойство «делегат» с типом «MyScrollViewDelegate?» не может переопределить свойство с типом «UIScrollViewDelegate?»
- «unowned» не может применяться к неклассу «MyScrollViewDelegate?»
Как я могу создать подкласс UIScrollView и переопределить тип свойства делегата (т. Е. Использовать собственный протокол делегата)?