我有许多 Java 类需要转换为 Swift 代码。 其中一个类有一个高级枚举:
public enum Student {
STUDENT_ONE("Steve", "Jobs")
STUDENT_TWO("Tim", "Cook")
private String _firstName;
private String _lastName;
}
如何在 Swift 中复制相同的行为?
最佳答案
经过一番思考,我同意 godmoney 的观点,即 aksh1t 的解决方案比我使用字符串的解决方案更好。
无论如何,这是 aksh1t 解决方案的一个更简洁的变体,它只使用一个返回元组的计算属性:(在 Swift 2.0 中测试)
enum Student {
case STUDENT_ONE, STUDENT_TWO
typealias Details = (firstName: String, lastName: String)
var details : Details {
switch(self) {
case STUDENT_ONE : return ("Steve", "Jobs")
case STUDENT_TWO : return ("Tim", "Cook")
}
}
}
// Usage:
func test(sd: Student.Details) {
print(sd.firstName)
print(sd.lastName)
}
test(Student.STUDENT_ONE.details)
关于java - Swift 中的高级 Java 枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31157093/