switchを使う

わからないことばかりだ。
Swift2では前の教科書に書いてある通りにはならない。

switchを追加してコードを書いてもうまく動かいない。
なぜだかわからないが、overrideのあとにswitchの条件をvarで定義するとエラーになる。letにすれば通る。

switchの最後にdefaultを入れないとエラーになる。
これだけで2時間以上かかった。泣くに泣けない。道は遠い。

次はDatePickerを使ってみる予定。
肩が凝るね!
(マジ、泣きたくなる)

============
(備忘録)switchのコード
============
//
// ViewController.swift
// SwitchPicker
//
// Created by yasui_swift on 2015/10/22.
// Copyright © 2015年 darumammz.com. All rights reserved.
//
import UIKit
class ViewController: UIViewController, UIPickerViewDelegate,
UIPickerViewDataSource {
// UIPickerView.
private var myUIPicker: UIPickerView!
// 表示する値の配列.配列には文字を入れないとエラーになることに注意
private let myValues: NSArray = ["赤","黄","青","白","緑"]
@IBOutlet weak var myLabel: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
myUIPicker = UIPickerView()
// サイズを指定する.
myUIPicker.frame = CGRectMake(130,100,120.0, 150.0)
myUIPicker.backgroundColor = UIColor.lightGrayColor()
// Delegateを設定する.
myUIPicker.delegate = self
// DataSourceを設定する.
myUIPicker.dataSource = self
// Viewに追加する.
self.view.addSubview(myUIPicker)
}
//pickerに表示する列数を返すデータソースメソッド.
func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int {
return 1
}
//pickerに表示する行数を返すデータソースメソッド.
func pickerView(pickerView: UIPickerView, numberOfRowsInComponent
component: Int) -> Int {
return myValues.count
}
//pickerに表示する値を返すデリゲートメソッド.
func pickerView(pickerView: UIPickerView, titleForRow row: Int,
forComponent component: Int) -> String? {
return myValues[row] as? String
}
//pickerが選択された際に呼ばれるデリゲートメソッド.
func pickerView(pickerView: UIPickerView, didSelectRow row: Int,
inComponent component: Int) {
//print("row: \(row)") 確認用
//print("value: \(myValues[row])") 確認用
myLabel.text = String(myValues[row])
//Labelの色を選ぶ

let aa = row //varだとエラーになる!!
switch aa {
case 0 ://print("赤")
myLabel.backgroundColor = UIColor.redColor()
case 1 ://print("黄色")
myLabel.backgroundColor = UIColor.yellowColor()
case 2 ://print("青")
myLabel.backgroundColor = UIColor.blueColor()
case 3 ://print("白")
myLabel.backgroundColor = UIColor.whiteColor()
case 4 ://print("緑")
myLabel.backgroundColor = UIColor.greenColor()
default: //print("なし").defaultとがないとエラーになる
myLabel.backgroundColor = UIColor.blueColor()
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
___________________________________________