当我在swift中将方法goToInternet(url:String)暴露给javascript时,它变成了javascript中的goToInternetWithUrl。有谁知道为什么?如何避免重命名? 我的代码位于https://github.com/289977150/CallSwiftFromJS/blob/master/CallSwiftFromJS/ViewController.swift
答案 0 :(得分:1)
如果您查看http://nshipster.com/javascriptcore/#3)-javascript-data-&-processing,可以看到此注释:
注意:JavaScriptCore将Objective-C / Swift方法名称转换为 JavaScript的兼容。由于JavaScript没有命名参数, 任何外部参数名称都将转换为camel-case并附加 到函数名称。在这个例子中,Objective-C方法 createWithFirstName:lastName:成为createWithFirstNameLastName() 的JavaScript。
函数func goToInternet(url:String)
有一个命名参数url
。
您可以添加下划线以使参数没有外部名称:
func goToInternet(_ url: String)
。