作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在尝试弄清楚如何将我的 Java Enum 复制到 Swift 中,但我不知道是否这是正确的方法。
我尝试用 Swift 编写的 Java 枚举:
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;
}
}
我的 Swift 代码:
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
}
}
}
我的问题是:
谢谢
最佳答案
您绝对可以拥有一个具有不同类型的关联值的 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)")
}
关于具有多种类型的 Swift 枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25354934/
我是一名优秀的程序员,十分优秀!