【发布时间】:2016-11-10 10:37:00
【问题描述】:
我是编程新手,我正在尝试在多个条件下进行切换。我有一个标签,它以摄氏温度或华氏温度为单位,具体取决于设置的温度,我需要根据温度间隔取值并属性一些设置。我怎样才能在一个开关中管理它(如果可能的话),我知道如何使用 4 个开关来做到这一点,但这是很长的代码......我尝试过这样的事情:
let todayStringComponent = Double(tempLabel.text!)
let fahrStringComponent = Double(tempLabel.text!)
let yesterdayStringComponent = Double(yesterdayLabel.text!)
switch (celsUnitButtonBool, todayStringComponent!) {
case (true?, -100 ... -40) :
// gradientImageOutlet.image = UIImage(named: "thermo_01.png")!
if UIDevice.current.userInterfaceIdiom == .pad
{
temperatureViewCenterAxisCnstr.constant = 315
gradientHeight.constant = 0
animateChanges()
} else if UIDevice.current.userInterfaceIdiom == .phone
{
temperatureViewCenterAxisCnstr.constant = 315
gradientHeight.constant = 470
animateChanges()
}
case (true?, -39 ... -26):
// gradientImageOutlet.image = UIImage(named: "thermo_02.png")!
if UIDevice.current.userInterfaceIdiom == .pad
{
temperatureViewCenterAxisCnstr.constant = 275
gradientHeight.constant = 75
animateChanges()
} else if UIDevice.current.userInterfaceIdiom == .phone
{
temperatureViewCenterAxisCnstr.constant = 315
gradientHeight.constant = 470
animateChanges()
} default:
print("WTH")
}
是否可以在一个交换机中管理它,以便它可以执行以下操作:
1) 检查是 Fahr 还是 Cels,
2)如果是 Cels,则检查摄氏度的间隔并做一些事情
3)如果是 Fahr 检查华氏间隔并做一些事情
4)对于昨天的标签(TodayLabel 的间隔相同),对其他内容进行处理。
希望有人能理解我的意思。谢谢。
【问题讨论】:
-
先把一切都转换成摄氏,然后再打开摄氏值。
标签: ios swift string switch-statement