所以我正在尝试做一些智能协议工作:
protocol MasterViewControllerDelegate {
associatedtype SelectableType
func didSelect(item: SelectableType)
}
protocol MasterViewController: UIViewController {
var delegate: MasterViewControllerDelegate? { get }
}
并陷入错误:
协议'MasterViewControllerDelegate'只能用作一般约束,因为它具有Self或关联的类型要求
我理解是因为,委托属性不了解SelectableType,但是我想知道是否有一种方法可以在仍然使用协议而非通用类的情况下工作。