ios - 无法声明对泛型类的引用

标签 ios swift

我有一个具有以下签名的泛型类

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/

相关文章:

ios - native 和非 native iOS 应用程序的区别

swift - 如何在 Swift 中使用 PDFkit 搜索 PDF

xcode - 存储/关联 NSMenuItems 以及文件夹 URL

ios - 快速点击条形按钮项目时 UIFont 发生变化

ios - readwrite 和 readonly 互斥

ios - 我传递的变量不会仅获取视频用户 ID 和个人资料图像 (Swift 3)

ios - 使用 Swift 每周重复本地通知

iOS: "Constants.h"错误

ios - 为什么在呈现 View Controller 后 UIView 从层次结构中删除?

ios - arm64 armv7 armv7s 架构设置