swift方法的名称已在javascript中更改

时间:2017-04-08 02:11:29

标签: swift

当我在swift中将方法goToInternet(url:String)暴露给javascript时,它变成了javascript中的goToInternetWithUrl。有谁知道为什么?如何避免重命名? 我的代码位于https://github.com/289977150/CallSwiftFromJS/blob/master/CallSwiftFromJS/ViewController.swift

1 个答案:

答案 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)