gpt4 book ai didi

ios - Swift:UIButton textLabel.text 值在 switch 语句中不可用

转载 作者:可可西里 更新时间:2023-10-31 23:45:55 27 4
gpt4 key购买 nike

我是 Swift 和 iOS 开发的新手,所以我正在尝试构建一个用于学习目的的计算器应用程序。但是,我遇到了一个错误。我用它们代表的数字为我的所有按钮命名,所以我通过 sender.titleLabel.text 在 buttonPress IBAction 中检索标题。然后,我将其传递到 switch 语句以确定按钮是数字还是运算符。

func handleButton (sender:UIButton) {
switch sender.titleLabel.text {
case "1","2","3","4","5","6","7","8","9","0" :
println(sender.titleLabel.text)
default:
break
}
}

错误是 sender.titleLabel.text 不会绑定(bind)到我输入的字符串值 - 也不会绑定(bind)到任何字符串值 - 即使它是字符串类型。

最佳答案

目前编译器中似乎存在一个错误,即隐式解包选项不能在 switch 语句中使用。相反,您可以使用可选绑定(bind)来满足编译器的要求。作为一个额外的好处,这将处理 titleLabel.text 为 nil 的情况。

func handleButton (sender:UIButton) {
if let text = sender.titleLabel.text {
switch text {
case "1","2","3","4","5","6","7","8","9","0" :
println(sender.titleLabel.text)
default:
break
}
}
else {
// sender.titleLabel.text is nil
}
}

关于ios - Swift:UIButton textLabel.text 值在 switch 语句中不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24454686/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com