func moveThing(thing: AnyObject,toleft length: Int) {}func moveThing(thing: AnyObject,toRight length: Int) {}
但是,当我将其中一个函数作为参数传递时,编译器会抱怨“不明确地使用’moveThing’”
func exec(function: (AnyObject,Int) -> ()) {}exec(moveThing) // Apparently ambiguousexec(moveThing as (AnyObject,toleft: Int) -> ()) // Still ambiguous
我怎样才能解决歧义?
解决方法 一个有趣的问题!我认为你现在不能这样,因为看起来参数名称不是函数引用名称的一部分,尽管我找不到Apple的参考文档中明确规定这一点的任何内容.当然,对于这个特定的例子,你可以使用
exec({ moveThing(,toleft: ) } )exec({ moveThing(,toRight: ) } )
但是我用简化的例子看到了你的意思.
总结以上是内存溢出为你收集整理的如何消除仅在Swift中的参数名称中的差异消除歧义的功能全部内容,希望文章能够帮你解决如何消除仅在Swift中的参数名称中的差异消除歧义的功能所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)