Swiftを写経10

今日の写経

010 UIAlertControllerでアラートを表示 - Swift Docs

所感

もうツマヅカない。 次は別の種類にするかも。あと

UIKit&Swiftプログラミング 優れたiPhoneアプリ開発のための UI実装ガイド

UIKit&Swiftプログラミング 優れたiPhoneアプリ開発のための UI実装ガイド

この本を買ったからここから探すかちょっと発展系を探します。

画面キャプチャ

f:id:novlessn:20150810140524p:plain

ソースコード

import UIKit

class ViewController: UIViewController, UIPickerViewDelegate, UIPickerViewDataSource {

    // UIPickerView
    private var myUIPicker: UIPickerView!
    
    // 表示する値の配列
    private let myValues: NSArray = ["その一", "その二", "その三", "その四"]
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        myUIPicker = UIPickerView()
        
        // サイズを指定する
        myUIPicker.frame = CGRectMake(0, 0, self.view.bounds.width, 180.0)
        
        // Delefateを設定
        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) {
        println("row: \(row)")
        println("value: \(myValues[row])")
    }
    
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }
}