2016-07-30 18 views
-2

私はSwiftの初心者です。私は著者に尋ねてみたが、答えなかった。私が始めたばかりなので、誰かがエラーの正確な理由を正確に突き止めることができ、どうすればこの問題を解決できるか、本当に感謝するだろう。私はエラー "致命的なエラー:予期せず、オプション値をアンラッピングしながらnilが見つかりません"を取得し続けます。私は解決策をオンラインで見つけることを試みたが、うまくいかなかった。誰かが私を親切に助けてくれますか?どうもありがとうございます! (説明のビットは、素晴らしいことだ!:))ここで致命的なエラー:UIPickerViewのオプション値をアンラッピングしている間に予期せぬことにnilが見つかりました

は私(だけでなく自分の)コードです:

import UIKit 

class ViewController: UIViewController, UIPickerViewDataSource, UIPickerViewDelegate 

{ 
    @IBOutlet weak var pickerView: UIPickerView! 


    var pickerDataSource = ["White", "Red", "Green", "Blue"]; 


    override func viewDidLoad() { 

     super.viewDidLoad() 
     self.pickerView.dataSource = self; // This is where the error occurs 
     self.pickerView.delegate = self; 
    } 

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


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

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

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

    func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) 
    { 
     if(row == 0) 
     { 
      self.view.backgroundColor = UIColor.whiteColor(); 
     } 
     else if(row == 1) 
     { 
      self.view.backgroundColor = UIColor.redColor(); 
     } 
     else if(row == 2) 
     { 
      self.view.backgroundColor = UIColor.greenColor(); 
     } 
     else 
     { 
      self.view.backgroundColor = UIColor.blueColor(); 
     } 
    } 
+0

'pickerView'コンセントをあなたのストーリーボードにある' UIPickerView'に配線しましたか? – vacawama

+0

あなたのIBOutletはストーリーボードに接続されていません。 – NSGangster

+0

pickerViewのコンセントを接続しようとしましたが、 '@IBOutlet weak var pickerView:UIPickerView!'という行だけが繰り返されます。 –

答えて

1

はストーリーボードからあなたのViewController 例にごUIPickeViewコンセントを接続します。この方法でCtrl + Drag は、私は思います今はうまくいくはずです。 問題でない場合は、下記のようにコメントしてください。

+0

ありがとうございますが、2つのエラーが追加されました。 '行の連続宣言は'; ''と 'Expected Declaration'で区切らなければなりません。この問題を解決できる方法はありますか?どうもありがとうございます! –

+0

更新:最初のエラーを修正しました '行の連続宣言は'; ''で区切られていなければなりませんが、2番目の行を修正する方法はわかりません。助けてください! –

+0

更新:問題を修正しましたが、修正するために別のコードを追加しました。ご協力ありがとうございました! –

関連する問題