Pri*_*ngo 4 enumeration string-interpolation swift
鉴于以下测试代码,为什么字符串插值\(t1)和\(t2)不起作用?重命名description会导致编译器失败,"类型'测试'不符合协议'可打印'",并且description显然可以在给定每个测试的第二个println时使用.
enum Test: Printable {
case A
case B(Int)
var description: String {
switch self {
case .A:
return ".A"
case let .B(value):
return ".B: value = \(value)"
}
}
}
let t1 = Test.A
let t2 = Test.B(-100)
println("t1 = \(t1)") // prints "t1 = (Enum Value)"
println(t1.description) // prints ".A"
println("t2 = \(t2)") // prints "t2 = (Enum Value)"
println(t2.description) // prints ".B: value = -100"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
782 次 |
| 最近记录: |