在Swift中,给定一个枚举类型的变量,我如何判断它是哪种类型?



作为一个实际的例子,假设我定义:

enum Baby {
    case Boy (String)
    case Girl (String)
}

,然后像这样定义一个变量(或常量):

let baby1 = Baby.Boy("Joe")

现在我想将baby1传递给一个函数,该函数返回一个字符串,该字符串取决于baby1是男孩还是女孩。我怎么写这个函数?还是没有办法做到这一点?

我知道你说不要回答,但这可能会有帮助:

使用switch语句,您可以同时检测枚举的大小写并提取String以供使用:

enum Baby {
    case Boy (String)
    case Girl (String)
}
let baby1 = Baby.Boy("Joe")
let baby2 = Baby.Girl("Sue")
func babyDescription(baby: Baby) -> String {
    switch(baby) {
    case .Boy(let name):
        return "A baby boy named (name)"
    case .Girl(let name):
        return "A baby girl named (name)"
    }
}
println(babyDescription(baby1)) // "A baby boy named Joe"
println(babyDescription(baby2)) // "A baby girl named Sue"

相关内容

  • 没有找到相关文章

最新更新