相关疑难解决方法(0)

如何在Swift中使用没有type参数的泛型类?

我想在设置泛型类型参数的情况下通用对象封装在另一个类中.我创建了一个基类并从中定义了其他子类.例:Animal<T>

public class Animal<T: YummyObject> {
    // Code
}

public class Dog: Animal<Bark> {
    // Code
}

public class Cat: Animal<Meow> {
    // Code
}
Run Code Online (Sandbox Code Playgroud)

并在下面的扩展名中定义了一个没有 type参数的Animal属性:UITableView

extension UITableView {
    private static var animal: Animal!

    func addAnimal(animal: Animal) {
        UITableView.animal = animal
    }
}
Run Code Online (Sandbox Code Playgroud)

但是这样做时我得到以下编译错误:

对泛型类型的引用Animal需要参数<...>.

这似乎在Java中运行良好.我怎么能在Swift中完成同样的事情呢?

oop generics ios parametric-polymorphism swift

8
推荐指数
1
解决办法
1651
查看次数

标签 统计

generics ×1

ios ×1

oop ×1

parametric-polymorphism ×1

swift ×1