【发布时间】:2015-06-15 20:38:33
【问题描述】:
据我了解,从 Xcode 6.3 / Swift 1.2 开始,我可以在类中使用静态变量和方法。但是,当我尝试通过调用静态函数来初始化静态变量时,编译器不喜欢它(在下面的示例中出现错误“使用未解析的标识符 getDefaultString”)。这是一个演示我的问题的 sn-p:
import Foundation
public class Settings {
private static var _bundle = NSBundle.mainBundle()
static func getDefaultString(key: String) -> String {
return _bundle.objectForInfoDictionaryKey(key) as! String
}
private static var _server = getDefaultString("DefaultServer")
public class var server: String {
get { return _server }
set { _server = newValue }
}
}
谁能帮我理解为什么我不能这样做?
【问题讨论】:
-
使用
private static var _server = Settings.getDefaultString("DefaultServer")是否有效? -
事实上,确实如此。但我不明白为什么?