Non dovrebbe essere necessario creare un'istanza di una classe per accedere a una costante pubblica. Recentemente ho iniziato a lavorare in Swift, quindi mi manca qualcosa qui.swift - come accedere alle costanti pubbliche senza dover instanciare la classe, come in C#
In questo semplice esempio:
public class MyConstants{
public let constX=1;
}
public class Consumer{
func foo(){
var x = MyConstants.constX;// Compiler error: MyConstants don't have constX
}
}
Questo codice foo dà un errore di compilazione. Per lavoro, ho bisogno di creare un'istanza dei MyConstants come questo:
public class Consumer{
func foo(){
var dummy = MyConstants();
var x = dummy.constX;
}
}
Aggiunta statico per constX non è permesso.
Accetto che una struttura sia più appropriata di una enumerazione, ma è possibile creare variabili immutabili statiche di diversi tipi di dati nelle enumerazioni – Antonio
con' enum'. possiamo usare solo un tipo di valori associati in modo da non poter associare del tutto 'string' e' int'val con 'enums'. – codester
Nella sua risposta personale, l'OP sta usando l'enum come contenitore per variabili statiche - prova questo: 'enum Constants {static let myConstant = 5; static let myData = "ciao"} ' – Antonio