我想弄清楚如何将我的Java Enum复制到Swift中,我不知道是否 这是正确的方法。
我想用Swift编写的Java中的Enum:
public enum EnumDB {
DATABASE_NAME("DataBase"),
DATABASE_VERSION(1);
private String name;
private int value;
private EnumDB(String name) {
this.name = name;
}
private EnumDB(int value) {
this.value = value;
}
public String getName() {
return name;
}
public int getValue() {
return value;
}
}
My Swift Code:
enum EnumDB {
case Name,Version
func getName() -> String{
switch self{
case .Name: return "DataBase"
}
}
func getNumber() -> Int{
switch self{
case .Version: return 1
default: return 0
}
}
}
我的问题是:
谢谢
答案 0 :(得分:5)
你绝对可以拥有一个enum
,其中包含不同类型的相关值,我认为这可以为您提供所需的内容。这就是我实现你的例子的方式:
enum EnumDB {
case Name(String)
case Version(Int)
}
let namedDB = EnumDB.Name("databaseName")
switch namedDB {
case .Name(let name):
println("Database name is \(name)")
case .Version(let versionNumber):
println("Database version is \(versionNumber)")
}