我正在努力学习斯威夫特,我坚持一件非常简单的事情。如何编写一个返回枚举的函数。以下代码无法编译:
import Foundation
enum MyResponse {
case Even (String, String)
case Odd (String)
}
func checkNumber(number : Int) -> MyResponse // <---- Error message
{
if (number % 2 == 0) {
return MyResponse.Even(String(number), " is even")
}
return MyResponse.Odd("odd")
}
let v1 = checkNumber(1)
switch v1 {
case .Even(arg1, arg2):
println("\(arg1) --> \(arg2)")
case .Odd(arg):
println("\(arg)")
}
我收到错误消息“Use of undeclared type”。
我做错了什么?从函数返回枚举值的正确方法是什么。
答案 0 :(得分:2)
第3行的MyResponse
与第8行的MyResponse
不同。第8行中“我的”和“响应”之间存在不可打印的字符。