用于在Swift中创建子类对象的类func

时间:2017-09-24 10:43:44

标签: ios swift generics

我有一个带有“class func create()”的Animal类:

class func create<T>() -> T {
    let animal = Animal() as! T
    return animal
}

我有子类Dog:

class Dog: Animal { }

我使用create()创建子类对象:

let doggy: Dog = Dog.create()

但如果我以这种方式创造狗狗:

let doggy = Dog.create()

我有错误“无法推断通用参数'T'” 如何根据调用者类型设置动态类型推断?

1 个答案:

答案 0 :(得分:0)

这一行:

&&

声明一个常量,但没有明确地命名它的类型,但是,create function需要它。尝试:

let doggy = Dog.create()