2016-10-24 1 views
-1

「男」と「女性」を表示しようとしていますが、「信号sigabrt」を表示しようとしています。誰も私の問題を解決するのを助けてくださいピッカーの表示についてのエラー

import UIKit 

class ViewController: UIViewController, UIPickerViewDelegate { 

    @IBOutlet weak var pkvTest: UIPickerView! 

    var a : [String] = [String]() 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     // Do any additional setup after loading the view, typically from a nib. 
     a = ["man", "woman"] 
    } 

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

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

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

    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
     // Dispose of any resources that can be recreated. 
    } 


} 

答えて

0

最初の2つのピッカービュー関数の名前が間違っています。この理由は、UIPickerViewDataSourceを採用するとしてView Controllerを宣言することを忘れてしまったためです。すぐに、コンパイラは問題に目を覚まし、警告を出します。

0

これを試してください。ビューデッドロードでデリゲートとデータソースが欠落しているようです。

class ViewController: UIViewController, UIPickerViewDelegate, UIPickerViewDatasource { 

@IBOutlet weak var pkvTest: UIPickerView! 

var a : [String] = [String]() 

override func viewDidLoad() { 
    super.viewDidLoad() 
    // Do any additional setup after loading the view, typically from a nib. 

self.pkvTest.delegate = self 
self.pkvTest.datasource = self 

    a = ["man", "woman"] 
} 
+0

これはクラッシュの原因ではありません。デリゲートとデータソースは、Interface Builderを介して接続されている可能性があります。 – rmaddy

関連する問題