JS交互: Swift

关键字: convention 、 unsafeBitCast .

//        演示闭包也可以当做JS的函数
        // 1.声明闭包  JS函数真正对应的是NSBlock  所以在此处@convention(block)做block转换
        let func2: @convention(block) (Int, Int) -> Int =  { (num1, num2) in
            return num1 + num2
        }
        // 2. 利用上下文 将func2置为JS中的函数
        // 第一个参数是将闭包func2强转成AnyObject类型
        // 第二个参数 闭包func2在JS中叫什么?
        context.setObject(unsafeBitCast(func2, AnyObject.self), forKeyedSubscript: "block")
        // 3.利用JS的代码实现该函数  该函数在JS中叫做block 所以需要调用block实现
        let value3 = context.evaluateScript("block(4,5);")
        print(value3)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容