【问题标题】:Is there a way to dynamically instantiate a class type有没有办法动态实例化一个类类型
【发布时间】:2015-07-03 01:55:01
【问题描述】:

我想做一些关于(伪代码)的事情:

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

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

【问题讨论】:

    标签: ios swift class reflection swift2


    【解决方案1】:

    您可以使用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() {
    
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-03
      • 1970-01-01
      • 2019-12-01
      • 2021-01-19
      • 2020-12-23
      • 1970-01-01
      相关资源
      最近更新 更多