私はプログラミングが初めてで、複数の条件でスイッチを実行しようとしています。私は摂氏または華氏で温度を取るラベルを持っています。これはどちらが設定されているかに依存しています。私は値をとり、温度間隔に基づいていくつかの設定をする必要があります。タプルを使用した単一スイッチケースの複数の区間Swift 3
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")
}
がすることが可能です:どのように私は(それが可能であるならば)一つのスイッチで、私は4つのスイッチを使用して、それは非常に長いコードだ...私はこのようななめらかにしようとしたことを行う方法を知っていることを管理することができますそれは次の操作を行うことができるように一つのスイッチでそれを管理:
1)それはファールやセル画、
2だ場合、それは摂氏のための間隔をチェックしとか
3を行うには設定資料集だ場合)をチェックした場合)華氏の間隔をチェックして何かをするのはファーです。
4)そして昨日のラベル(TodayLabelと同じ間隔で)は他のものと同じです。
誰かが私の言いたいことを理解することを望みます。ありがとうございました。列挙型の中にいくつかのロジックをカプセル化する
すべてを摂氏に変換してから、摂氏の値をオンにします。 –