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