我有一个具有以下签名的泛型类
class Picker<U: Multipickable>
在另一个类中,我想创建一个 delegate
类型属性 Picker
如上所述。我想将信息传回Picker
作为其他类的某些操作的结果。
//in another class
weak var delegate: Picker! //error
有 2 个编译器错误,说明如下:
对泛型类型的引用 Picker
需要 <...>
和
weak
不能应用于非类类型 <<error type>>
有什么解决办法吗?
最佳答案
第一个错误说 Picker
需要 <...> 中的参数。因此,您必须将 Picker 中定义的类类型放入 <...>
var delegate: Picker<Multipickable>!
第二个错误是因为第一个错误被抛出,当你的 Picker
类以错误的方式使用,它变成了 <<error type>>
, 所以你不能 weak
它
关于ios - 无法声明对泛型类的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33489503/