Код: Выделить всё
@objc protocol BaseDelegate {
func xxx()
}
protocol DerivedDelegate: BaseDelegate {
func yyy()
}
protocol NextDerivedDelegate: BaseDelegate {
func zzz()
}
class BaseClass {
var delegate: T?
}
class DerivedClass: BaseClass {
....
}
class NextDerivedClass: BaseClass {
....
}
Код: Выделить всё
@objc protocol BaseDelegate: AnyObject {
func xxx()
}
protocol DerivedDelegate: BaseDelegate {
func yyy()
}
protocol NextDerivedDelegate: BaseDelegate {
func zzz()
}
class BaseClass {
weak var delegate: T?
}
class DerivedClass: BaseClass {
....
}
class NextDerivedClass: BaseClass {
....
}
Тип «любой DerivedDelegate» не может соответствовать 'BaseDelegate'
Даже когда я пробовал класс DerivedClass: BaseClass, он возвращал Тип 'любой BaseDelegate' не может соответствовать 'BaseDelegate' . Есть ли способ это исправить? Таких классов и делегатов много, поэтому менять их один за другим и удалять дженерики — последнее, что нужно делать, если есть другое решение.
Спасибо.
Подробнее здесь: https://stackoverflow.com/questions/787 ... tocol-type
Мобильная версия