[ios]ボタン式の入力フォームについて

前回の続きで、ボタンの色を変化させるコードを書きましたが、それを利用して実現したUIがこちら。
[ボタン式の入力フォーム](http://www.giphy.com/gifs/xT0xemKJsdhIxs1Nh6)

流れとしては、ボタンのそれぞれの色の状態を、配列に入れておいて、ボタンがタップされたら、状態を確認。あとは、どの色がタップされているか確認して、書き換えるだけ。

動くことを意識しただけなので、関数化できていない部分が多いですが、ひとまず動いたので、一安心。
それにしても、処理多すぎるから簡素化しないと・・・

```swift:ViewController.swift
    //outletで紐付け
    @IBOutlet weak var number4button: CustomButton!
    @IBOutlet weak var number5button: CustomButton!
    @IBOutlet weak var number6button: CustomButton!
    @IBOutlet weak var number7button: CustomButton!

    //初期の色を定義
    let orangebackgroundcolor:UIColor = UIColor(red:0.96, green:0.55, blue:0.15, alpha:1.0)
    let whitebackgroundcolor:UIColor = UIColor.white
    let inittextcolor:UIColor = UIColor.white
    
    //人数ボタンの背景色を監視
    var numberbuttonstatus:Dictionary<String,UIColor> = [:]
    var number4buttonstatus:UIColor = UIColor()
    var number5buttonstatus:UIColor = UIColor()
    var number6buttonstatus:UIColor = UIColor()
    var number7buttonstatus:UIColor = UIColor()

 //タップした時の挙動
    @IBAction func number4tapped(_ sender: CustomButton) {
        //配列に値が入っているか確認。
        if numberbuttonstatus.isEmpty == true {
            number4button.backgroundColor = UIColor(red:0.96, green:0.55, blue:0.15, alpha:1.0)
            number4button.setTitleColor(UIColor.white, for: .normal)
            self.number4buttonstatus = orangebackgroundcolor
            self.number5buttonstatus = whitebackgroundcolor
            self.number6buttonstatus = whitebackgroundcolor
            self.number7buttonstatus = whitebackgroundcolor
            self.numberbuttonstatus.updateValue(self.number4buttonstatus,forKey: "number4")
            self.numberbuttonstatus.updateValue(self.number5buttonstatus,forKey: "number5")
            self.numberbuttonstatus.updateValue(self.number6buttonstatus,forKey: "number6")
            self.numberbuttonstatus.updateValue(self.number7buttonstatus,forKey: "number7")
            print(self.numberbuttonstatus)
        } else {
            //配列に入っているなら、一つずつ取り出して確認して、あとは条件分岐
            for i in self.numberbuttonstatus {
                //オレンンジのところを探して、その部分を白に変えていく
                if i.key == "number4" && i.value ==  orangebackgroundcolor {
                    number4button.backgroundColor = UIColor(red:0.96, green:0.55, blue:0.15, alpha:1.0)
                    number4button.setTitleColor(UIColor.white, for: .normal)
                    self.number4buttonstatus = orangebackgroundcolor
                    self.number5buttonstatus = whitebackgroundcolor
                    self.number6buttonstatus = whitebackgroundcolor
                    self.number7buttonstatus = whitebackgroundcolor
                    self.numberbuttonstatus.updateValue(self.number4buttonstatus,forKey: "number4")
                    self.numberbuttonstatus.updateValue(self.number5buttonstatus,forKey: "number5")
                    self.numberbuttonstatus.updateValue(self.number6buttonstatus,forKey: "number6")
                    self.numberbuttonstatus.updateValue(self.number7buttonstatus,forKey: "number7")
                    
                } else if i.key == "number5" && i.value ==  orangebackgroundcolor {
                    self.number5button.backgroundColor = UIColor.white
                    self.number5button.setTitleColor(UIColor(red:0.96, green:0.55, blue:0.15, alpha:1.0), for: .normal)
                    self.number4button.backgroundColor = UIColor(red:0.96, green:0.55, blue:0.15, alpha:1.0)
                    self.number4button.setTitleColor(UIColor.white, for: .normal)
                    self.number4buttonstatus = orangebackgroundcolor
                    self.number5buttonstatus = whitebackgroundcolor
                    self.number6buttonstatus = whitebackgroundcolor
                    self.number7buttonstatus = whitebackgroundcolor
                    self.numberbuttonstatus.updateValue(self.number4buttonstatus,forKey: "number4")
                    self.numberbuttonstatus.updateValue(self.number5buttonstatus,forKey: "number5")
                    self.numberbuttonstatus.updateValue(self.number6buttonstatus,forKey: "number6")
                    self.numberbuttonstatus.updateValue(self.number7buttonstatus,forKey: "number7")
                } else if i.key == "number6" && i.value ==  orangebackgroundcolor{
                    self.number6button.backgroundColor = UIColor.white
                    self.number6button.setTitleColor(UIColor(red:0.96, green:0.55, blue:0.15, alpha:1.0), for: .normal)
                    self.number4button.backgroundColor = UIColor(red:0.96, green:0.55, blue:0.15, alpha:1.0)
                    self.number4button.setTitleColor(UIColor.white, for: .normal)
                    self.number4buttonstatus = orangebackgroundcolor
                    self.number5buttonstatus = whitebackgroundcolor
                    self.number6buttonstatus = whitebackgroundcolor
                    self.number7buttonstatus = whitebackgroundcolor
                    self.numberbuttonstatus.updateValue(self.number4buttonstatus,forKey: "number4")
                    self.numberbuttonstatus.updateValue(self.number5buttonstatus,forKey: "number5")
                    self.numberbuttonstatus.updateValue(self.number6buttonstatus,forKey: "number6")
                    self.numberbuttonstatus.updateValue(self.number7buttonstatus,forKey: "number7")
                } else if i.key == "number7" && i.value ==  orangebackgroundcolor{
                    self.number7button.backgroundColor = UIColor.white
                    self.number7button.setTitleColor(UIColor(red:0.96, green:0.55, blue:0.15, alpha:1.0), for: .normal)
                    self.number4button.backgroundColor = UIColor(red:0.96, green:0.55, blue:0.15, alpha:1.0)
                    self.number4button.setTitleColor(UIColor.white, for: .normal)
                    self.number4buttonstatus = orangebackgroundcolor
                    self.number5buttonstatus = whitebackgroundcolor
                    self.number6buttonstatus = whitebackgroundcolor
                    self.number7buttonstatus = whitebackgroundcolor
                    self.numberbuttonstatus.updateValue(self.number4buttonstatus,forKey: "number4")
                    self.numberbuttonstatus.updateValue(self.number5buttonstatus,forKey: "number5")
                    self.numberbuttonstatus.updateValue(self.number6buttonstatus,forKey: "number6")
                    self.numberbuttonstatus.updateValue(self.number7buttonstatus,forKey: "number7")
                }
            }
            
            
        }
        

    }
```