例如,我们有Java代码如下;
enum Job {
NINJA(3000000){
public void attack() {
//use Shuriken
}
},
SAMURAI(4000000){
public void attack() {
//use Sword
}
};
public final int salary;
public abstract void attack();
private Job(int salary) {
this.salary = salary;
}
}
Run Code Online (Sandbox Code Playgroud)
在Swift中,我认为我们不能定义构造函数并且有任何枚举方法.
我发现在下面的Swift代码中我们可以有类似的结构,但是没有任何方法.
class Job {
class Store {
let salary : Int
init(int salary) {
self.salary = salary
}
}
class var NINJA: Store{
return Store(3000000)
}
class var SAMURAI: Store{
return Store(4000000)
}
}
// Job.NINJA.salary
Run Code Online (Sandbox Code Playgroud)
当然,我知道Swift枚举可以拥有自己的属性.
但是如果在下列情况下你有更多的属性,我们必须在每个属性上有这么多的开关.我认为这不聪明.
enum Job …
Run Code Online (Sandbox Code Playgroud)