ios – XCode6 Beta中的编译器警告 – “速记外部参数名称”

ios – XCode6 Beta中的编译器警告 – “速记外部参数名称”,第1张

概述我在 Xcode6 Beta上玩 Swift,当我在func定义’#’中使用时,就像在Apple的Swift编程指南中一样,我得到以下编译器错误: 参数中的无关’#’:’characterToFind’已经是关键字参数名称 // this code is a copy-paste code from apple's Swift language programing guidefunc con 我在 Xcode6 Beta上玩 Swift,当我在func定义’#’中使用时,就像在Apple的Swift编程指南中一样,我得到以下编译器错误:

参数中的无关’#’:’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中的编译器警告 – “速记外部参数名称”所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1006196.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存