从 JavaScript 调用 Swift 函数可以通过使用 JavaScriptCore 框架来实现。JavaScriptCore 是苹果提供的一个框架,用于在 iOS 和 macOS 应用中嵌入 JavaScript 引擎。
以下是从 JavaScript 调用 Swift 函数的步骤:
import Foundation
@objc class MySwiftClass: NSObject {
@objc func myFunction() {
// 在这里编写 Swift 函数的实现
}
}
// 创建一个与 Swift 类对应的对象
var myObject = new MySwiftClass();
// 调用 Swift 函数
myObject.myFunction();
import JavaScriptCore
// 创建 JavaScript 上下文
let context = JSContext()
// 将 Swift 类注入到 JavaScript 上下文中
context?.setObject(MySwiftClass.self, forKeyedSubscript: "MySwiftClass" as NSCopying & NSObjectProtocol)
// 执行 JavaScript 代码
context?.evaluateScript("var myObject = new MySwiftClass(); myObject.myFunction();")
这样就可以通过 JavaScript 调用 Swift 函数了。
注意:为了使上述代码能够正常工作,需要在项目中导入 JavaScriptCore 框架,并在 Bridging Header 文件中添加以下内容:
#import <JavaScriptCore/JavaScriptCore.h>
推荐的腾讯云相关产品:腾讯云云函数 SCF(Serverless Cloud Function),它是一种事件驱动的无服务器计算服务,可以让您在云端运行代码而无需购买和管理服务器。您可以使用 SCF 来运行 JavaScript、Python、PHP、Java、C#、Go 和 Swift 等多种编程语言的函数。您可以在腾讯云官网了解更多关于腾讯云云函数 SCF 的信息:腾讯云云函数 SCF。
领取专属 10元无门槛券
手把手带您无忧上云