让我们下面的一段代码:为什么类型不符合协议?
protocol ItemView {
var image: UIImage? { get set }
}
class BaseController<T: UIView where T: ItemView>: UIViewController {
var itemView = T()
}
class ConcreteItemController: BaseController<UIImageView> {
}
对于BaseController我得到一个错误信息说“类型‘的UIImageView’不符合协议‘ItemView控件’”。
但是为什么?
同样的错误信息显示出来当我这样做,而不是:
typealias ConcreteItemController = BaseController<UIImageView>
我真的失去了一些东西在这里...为什么会在UIImageView的不符合ItemView控件协议?它有一个可选的图像属性..所以问题在哪里?
'UIImageView'没有声明它符合'ItemView' – beyowulf
噢!我认为没有宣布它就足够符合了....为什么你不把这个作为正确的答案,以便我可以给你10个学分。 –