参数中的无关’#’:’characterToFind’已经是关键字参数名称
// this code is a copy-paste code from apple's Swift Language programing guIDefunc containsCharacter(#string: String,#characterToFind: Character) -> Bool { for character in string { if character == characterToFind { return true } } return false}
它只是新Xcode的一个错误吗?
解决方法 如果它是一个方法(类中的一个函数),那么#是多余的,我想这就是编译器的意思.在方法中,假设第一个参数名称只是本地名称,而其他名称自动被假定为外部名称和本地名称,就好像您已经在它们前面写了#一样.
所以,而不是
func containsCharacter(#string: String,#characterToFind: Character) -> Bool
你可以写
func containsCharacter(#string: String,characterToFind: Character) -> Bool
这将是完全相同的事情.
为了进一步证明这一点,我在 *** 场上尝试了这个
func foo(#x: Int,#y: Int) { }class foobar { func foo(#x: Int,#y: Int) func bar(#x: Int,y: Int)}
这三个函数是相同的,但编译器会在第二个foo上发出警告
Extraneous ‘#’ in parameter: ‘characterToFind’ is already the keyword argument name
同样,第一个in方法之后的参数已经自动被视为外部名称.
总结以上是内存溢出为你收集整理的ios – XCode6 Beta中的编译器警告 – “速记外部参数名称”全部内容,希望文章能够帮你解决ios – XCode6 Beta中的编译器警告 – “速记外部参数名称”所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)