I want to encapsulate a generic object in another class without setting the generic type argument. I created a base Animal<T>
class and defined other subclasses from it. Example:
public class Animal<T: YummyObject> {
// Code
}
public class Dog: Animal<Bark> {
// Code
}
public class Cat: Animal<Meow> {
// Code
}
and defined an Animal
property, without the type argument, in the UITableView
extension bellow:
extension UITableView {
private static var animal: Animal!
func addAnimal(animal: Animal) {
UITableView.animal = animal
}
}
but I get the following compile error when doing so:
Reference to generic type
Animal
requires arguments in<...>
.
This seems to work fine in Java. How can I accomplish the same thing in Swift as well?