如何将类名传递给函数,并在函数内部使用类名传递init var

问题描述 投票:-2回答:1

在Swift 4中,我想将类名传递给函数:

let usingClass = MyClass.self
myFuntion(usingClass)

我的功能:

func myFuntion <T>(_ typeClass: T.Type) {
...
var myVar: [typeClass]
...

}

编译时,我收到以下错误消息:

用于未声明类型'typeClass'

在线var myVar: [typeClass]

我错了什么?

swift generics
1个回答
0
投票

正如Hamish所说,我的问题的答案就是在我想宣布我的var时使用T.有了它,我可以使用不同类型的相同功能,所有工作正常:

let usingClass = MyClass.self
myFuntion(usingClass)

let usingAnotherClass = MyOhterClass
myfunction(usingAnotherClass)

func myFuntion<T>(_ typeClass: T.Type) {
    ...
    var myVar: [T]
    ...
}
© www.soinside.com 2019 - 2024. All rights reserved.