用于迭代的Swift变量内部变量

时间:2018-05-23 01:14:08

标签: swift

我有非常冗余的代码,我需要简化,因为我正在扩展,我不知道如何做到这一点。我有很多按钮更新,图像经常更改。根据点亮的按钮和程序中发生的事情,我会立即更改许多按钮的状态。我想创建一个可以迭代函数的多个部分的函数。 。例如,下面是一个代码块,每个按钮重复一次,我在这一点上将是48。

if sharedData.Channel1Mute != nil {
            if sharedData.Channel1Mute == "True" {
                self.Channel1Button.setImage(UIImage(named: "w1"), for:UIControlState())
            }
            else {
                self.Channel1Button.setImage(UIImage(named: "g1"), for:UIControlState())
            }
if sharedData.Channel2Mute != nil {
            if sharedData.Channel2Mute == "True" {
                self.Channel2Button.setImage(UIImage(named: "w2"), for:UIControlState())
            }
            else {
                self.Channel2Button.setImage(UIImage(named: "g2"), for:UIControlState())
            }
...
...
ect
...

这不是正确的编码,但我希望这能起到这样的功能,这将是更短和可扩展的。 。 。

for NUMBER in 1...48 {
    if sharedData.Channel[NUMBER]Mute != nil {
            if sharedData.Channel[NUMBER]Mute == "True" {
                self.Channel[NUMBER]Button.setImage(UIImage(named: "w[NUMBER]"), for:UIControlState())
            }
            else {
                self.Channel[NUMBER]Button.setImage(UIImage(named: "g[NUMBER]"), for:UIControlState())
            }
}

这是令人沮丧的,因为我当前的代码完全相同的事情是48次,但我必须用每个副本中的if语句中的每个数字重写整个代码。

0 个答案:

没有答案