Daily IOS チャレンジ Day4

すでに３日坊主ではなくなってます。
本日は４日目です。
今回は今までやってきたTableViewとNavigationControllerを使って、オリジナルの何かを作ってみようと思います。

step1
毎度おなじみに土台を作っていきます。
Created a new Xcode Project
→Single view appをクリックしnext
→ProductNameを追加しnext
→保存する場所を指定しCreate

今回動かすメインファイルは
ViewController.swift
SecondViewController.swift
Main.storyboard

ページ遷移のsegueのidentiferは　`PREFECTURE_SEGUE` とする

step2
セルにデータを入れられるようにする
下記を参照
https://qiita.com/MoRo-oRoM/items/1c6c7f7626f2c595bcb6

step3
今回は都道府県データを入れようと思います。

```
let prefectures = ["北海道", "青森県", "岩手県", "宮城県", "秋田県",
                   "山形県", "福島県", "茨城県", "栃木県", "群馬県",
                   "埼玉県", "千葉県", "東京都", "神奈川県","新潟県",
                   "富山県", "石川県", "福井県", "山梨県", "長野県",
                   "岐阜県", "静岡県", "愛知県", "三重県", "滋賀県",
                   "京都府", "大阪府", "兵庫県", "奈良県", "和歌山県",
                   "鳥取県", "島根県", "岡山県", "広島県", "山口県",
                   "徳島県", "香川県", "愛媛県", "高知県", "福岡県",
                   "佐賀県", "長崎県", "熊本県", "大分県", "宮崎県",
                   "鹿児島県", "沖縄県"]
```
上記を追加

本来、このデータ構造をViewControllerにおいていいのかという話はありますが、今回はおいておきます

step4
県名を押したときにページを移動するようにしたい
下記を参照
https://qiita.com/MoRo-oRoM/items/627b2a31be610ed3dca2

遷移先の画面のタイトルはセルに入ってる値が反映されるようにした
ソースは以下の通りである。

```swift:ViewController.swift
import UIKit

class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource{
    
    var prefecture:String = ""
    
    let prefectures: [String] = [
                       "北海道", "青森県", "岩手県", "宮城県", "秋田県",
                       "山形県", "福島県", "茨城県", "栃木県", "群馬県",
                       "埼玉県", "千葉県", "東京都", "神奈川県","新潟県",
                       "富山県", "石川県", "福井県", "山梨県", "長野県",
                       "岐阜県", "静岡県", "愛知県", "三重県", "滋賀県",
                       "京都府", "大阪府", "兵庫県", "奈良県", "和歌山県",
                       "鳥取県", "島根県", "岡山県", "広島県", "山口県",
                       "徳島県", "香川県", "愛媛県", "高知県", "福岡県",
                       "佐賀県", "長崎県", "熊本県", "大分県", "宮崎県",
                       "鹿児島県", "沖縄県"]

    override func viewDidLoad() {
        super.viewDidLoad()
        let backButtonItem = UIBarButtonItem(title: "都道府県", style: .plain, target: nil, action: nil)
        self.navigationItem.backBarButtonItem = backButtonItem
        self.navigationItem.title = "都道府県"
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }

    
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return prefectures.count
    }
    
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell: UITableViewCell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)
        cell.textLabel!.text = prefectures[indexPath.row]
        return cell
    }
    
    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        prefecture = prefectures[indexPath.row]
        performSegue(withIdentifier: "PREFECTURE_SEGUE", sender: nil)
    }
    
    
    override func prepare(for segue: UIStoryboardSegue, sender: Any!) {
        if (segue.identifier == "PREFECTURE_SEGUE") {
            let secondViewController: SecondViewController = segue.destination as! SecondViewController;
            secondViewController.param = prefecture
        }
    }
}
```

```swift:SecondViewController.swift
import UIKit

class SecondViewController: UIViewController{
    
    var param:String = ""
    override func viewDidLoad() {
        super.viewDidLoad()
        self.title = self.param
    }
}


```


実際に作ったものがこちら
![DailyChallenge4.gif](https://qiita-image-store.s3.amazonaws.com/0/260218/034f9139-c0ab-885f-a62e-80d2725436b5.gif)