Swiftで遊ぼう!の古い記事-> Life-LOG OtherSide

Beginning iPhone Development with Swift: Exploring the iOS SDK

Beginning iPhone Development with Swift: Exploring the iOS SDK

  • 作者: David Mark,Jack Nutting,Kim Topley,Fredrik Olsson,Jeff LaMarche
  • 出版社/メーカー: Apress
  • 発売日: 2014/11/19
  • メディア: Kindle版
  • この商品を含むブログを見る

My Picker Projectの2つ目のタブの実装が終わりました。これまで説明したSingleComponentPickerViewControllerクラスの全コードをここに記載します。

class SingleComponentPickerViewController: UIViewController,
                UIPickerViewDelegate, UIPickerViewDataSource {

 @IBOutlet weak var singlePicker: UIPickerView!

 private let characterNames = ["ルーク", "レイア",
               "ハン", "チューバッカ", "R2", "C-3PO", "ランド"]

 @IBAction func buttonPressed(sender: AnyObject) {
  let row = singlePicker.selectedRowInComponent(0)
  let selected = characterNames[row]
  let title = "(selected)を選びました!"
  let alert = UIAlertController(title: title,
      message: "選んでくれてありがとう", preferredStyle: .Alert)
  let action = UIAlertAction(title: "どういたしまして",
      style: .Default, handler: nil)
  alert.addAction(action)
  presentViewController(alert, animated: true, completion: nil)
 }

 // MARK: Picker Data Source Methods

 func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int {
  return 1
 }

 func pickerView(pickerView: UIPickerView,
                 numberOfRowsInComponent component: Int) -> Int {
  return characterNames.count
 }

 // MARK: Picker Delegate Methods

 func pickerView(pickerView: UIPickerView, titleForRow row:Int,
                 forComponet component: Int) -> String! {
  return  characterNames[row]
 }
}

何も間違っているところは無いはずです。これでラン(Cmd + R)すると...

f:id:yataiblue:20150521092102j:plain

どうしてピッカーの項目が表示されないのでしょう?!? 選択してボタンを押すときちんと表示されます。Sinble View Applicationで作り直しても同様です(T_T)

実はDoubleComponentPickerViewControllerで問題無くピッカーの項目が表示されるので1つだと上手くいかない理由がわかりません。どなたかアドバイスお願いしますm(_ _)m