我需要写这样的东西:
func createInstanceOfClass(someClass: Class) -> UIViewController {
var vc = someClass()
//some initialization
...
//
return
}
我发现了一些类似的问题,但其中一些不适合这个任务,一些关于 param T
的问题似乎是额外的。
最佳答案
这是您如何执行此操作的示例。使用T.Type
来引用T
的元类型,使用T.self
来引用类型T
。
protocol DefaultConstructible {
init()
}
class A: DefaultConstructible {
required init() {}
}
struct B: DefaultConstructible {
init() {}
}
func makeAnInstance<T: DefaultConstructible>(of c: T.Type) -> T {
return c.init()
}
let a = makeAnInstance(of: A.self)
let b = makeAnInstance(of: B.self)
关于swift - 将类作为参数传递给快速返回此类对象的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43186223/