有没有办法动态实例化类类型

时间:2015-07-03 01:55:01

标签: ios swift class reflection swift2

我想在(伪代码)行上做点什么:

let class_name = "MyClass"
let RealClass = class_name()

我熟悉http://ijoshsmith.com/2014/06/05/instantiating-classes-by-name-in-swift/

1 个答案:

答案 0 :(得分:0)

您可以使用NSClassFromString获取课程,然后转换为您想要的类型。

例如:

var dynamicClass = NSClassFromString("Test") as? Test.Type
    if dynamicClass != nil{
        var instance = dynamicClass!()
        instance.test()
}

班级Test

@objc(Test)
class Test{
   func test() {
       println("dynamic")
    }
    required  init() {

    }
}