【发布时间】:2016-08-25 12:31:36
【问题描述】:
我的代码:
enum Grade: String{
case A, B, C, D, E, F, U, S
init!(_ result: Int){
if result > 100 {
return nil
}
switch result {
case 0:
self = .U
case 1...49:
self = .F
case 0:
self = .U
case 50...59:
self = .E
case 60...69:
self = .D
case 70...79:
self = .C
case 80...89:
self = .B
case 90...99:
self = .A
case 100:
self = .S
default:
break
}
}
}
看起来不错,但我出错了。
错误:在所有存储的属性初始化之前使用了“self”。
我修复它的方法是在初始化程序中为 self 分配一些东西,然后使用 switch。
我想知道是否有更好的解决方案?
谢谢。
【问题讨论】:
标签: swift