我已经使用Xcode和Swift在自定义包中声明了一个函数。
MyBundle.bundle —> File.swift —> func …() {}
如何使用Foundation.Bundle
从另一个项目中调用该函数?
嗯,您不能直接调用它,但是可能可以采取一些措施来解决这个问题。
您可以使用NSClassFromString
从字符串创建该类的实例,然后使用该调用来调用该方法
如下所示
func getClassName(_ strClassName: String) -> AnyClass! {
let bundle = Bundle.main.infoDictionary!["CFBundleExecutable"] as! String;
let requiredClass: AnyClass = NSClassFromString("\(namespace).\(strClassName)")!;
return requiredClass;
}
然后您可以使用上述方法返回的类实例来调用该方法,例如
yourClassInstance.perform(Selector("functionName"))