gpt4 book ai didi

swift - Xcode6.3.2 Swift 静态常量错误

转载 作者:搜寻专家 更新时间:2023-11-01 05:54:03 25 4
gpt4 key购买 nike

我想弄清楚为什么我在 Xcode 6.3.2 中遇到这种类型的结构的编译问题。

class Foo {
static let CONSTANT_NAME = "CONSTANT_STRING"
...
func bar () -> String {
var s = String(format:"%s,%d\n", CONSTANT_NAME, 7)
return s
}
...
}

根据我对语言的理解,这应该是完全合法的代码,但是 Xcode 经常(哈哈一语)在引发错误时遇到问题

"there is no member CONSTANT_NAME in class Foo"

如果我幸运地强制它清理,然后重建它有时会自行解决并工作。其他时候,即使这样做,尝试打开/关闭项目仍然无法解决问题。

所以,我想我隐含的后续问题(如果上面的答案是 - 它是合法代码)是:Xcode Swift 编译器是否存在错误,即使是像这样的基本事情也可能导致问题?如果是这样,swift 似乎处于非常糟糕的状态。

最佳答案

static 是类属性,这意味着你必须像这样调用它 ClassName.property

class Foo {
static let CONSTANT_NAME = "CONSTANT_STRING"
func bar () -> String {
var s = String(format:"%s,%d\n", Foo.CONSTANT_NAME, 7)
return s
}
}

这不是错误。这是应该的。类属性“属于”类。

如果您希望代码在不使用 ClassName 的情况下工作,请不要使用 static

class Foo {
let CONSTANT_NAME = "CONSTANT_STRING"
func bar () -> String {
var s = String(format:"%s,%d\n",CONSTANT_NAME, 7)
return s
}
}

Apple Documentation 中有更多详细信息

关于swift - Xcode6.3.2 Swift 静态常量错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30700022/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com