如何创建实例化一个swift类并从字符串动态调用其方法?

时间:2019-04-02 13:53:20

标签: objective-c swift dynamic

我想实例化一个类并动态调用它的方法。

class Test: NSObject {
    @objc func greet() {
        print("123")
    }
}

我可以使用perform调用以字符串形式给出的方法

let t = Test()
t.perform(Selector("greet"))

但是我也想以类似的方式初始化测试。

let t = GetClass("Test").init()  // some method when called gives it's object
t.perform(Selector("greet"))

Swift类将从NSObject继承,并在其方法中添加@obj


如何使用Objective-C方法(来自Swift源代码)执行相同的操作?例如,

let t = NSClassFromString("Test")
t.init() // ??
t.perform(Selector("greet"))

编辑:对于Objective-C,我可以按照Call a method from a String in Swift进行操作。需要包含模块名称才能使此功能正常工作。

0 个答案:

没有答案