Sono a conoscenza del fatto che da Xcode 6.3/Swift 1.2, posso usare variabili e metodi statici all'interno di una classe. Tuttavia, al compilatore non piace quando cerco di inizializzare una variabile statica chiamando una funzione statica (ho l'errore 'Use of ansolated identifier getDefaultString' nell'esempio sotto). Ecco uno snippet che dimostra il mio problema:Perché non posso inizializzare una variabile statica chiamando una funzione statica in Swift?
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 }
}
}
Qualcuno può aiutarmi a capire perché non posso farlo?
Funziona se si utilizza 'static static var _server = Settings.getDefaultString (" DefaultServer ")'? – NobodyNada
In effetti, lo fa. Ma non capisco perché? – markdb314