无法声明对泛型类的引用

时间:2015-11-03 00:30:00

标签: ios swift

我有一个带有以下签名的通用类

class Picker<U: Multipickable>

在另一个课程中,我想创建一个上述delegate类型的Picker属性。我希望将信息传递回Picker作为其他课程的一些动作的结果。

//in another class
weak var delegate: Picker! //error

有2个编译器错误,说明如下:

对泛型类型Picker的引用需要&lt; ...&gt;

中的参数

weak无法应用于非类型<<error type>>

有什么方法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

第一个错误说Picker需要&lt; ...&gt;中的参数。因此,您必须将Picker中定义的类类型放入&lt; ...&gt;

var delegate: Picker<Multipickable>!

引发第二个错误是因为第一个错误,当您的Picker课程以错误方式使用时,它变为<<error type>>,因此您无法weak