我有一个带有以下签名的通用类
class Picker<U: Multipickable>
在另一个课程中,我想创建一个上述delegate
类型的Picker
属性。我希望将信息传递回Picker
作为其他课程的一些动作的结果。
//in another class
weak var delegate: Picker! //error
有2个编译器错误,说明如下:
对泛型类型Picker
的引用需要&lt; ...&gt;
和
weak
无法应用于非类型<<error type>>
有什么方法可以解决这个问题吗?
答案 0 :(得分:0)
第一个错误说Picker
需要&lt; ...&gt;中的参数。因此,您必须将Picker中定义的类类型放入&lt; ...&gt;
var delegate: Picker<Multipickable>!
引发第二个错误是因为第一个错误,当您的Picker
课程以错误方式使用时,它变为<<error type>>
,因此您无法weak