2016-06-16 4 views
1

Привет Я новенькая быстры и нужна помощьSwift: EXC_BAD_INSTRUCTION (код = EXC_I386_INVOP, субкодовое = 0x0)

Каждый раз, когда я запускаю мой код моего приложения аварии и выплевывает "вышеуказанную ошибку

Может кто-нибудь пожалуйста, скажите мне, что мне нужно сделать, или то, что мне нужно заменить в моем коде?

import UIKit 

class ViewController: UIViewController, UIPickerViewDelegate, UIPickerViewDataSource{ 


    @IBOutlet weak var picker: UIPickerView! 
    var employeeNames = ["John","Jane","Jack","James"] 


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


     self.picker.delegate = self 
     self.picker.dataSource = self 
    } 

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

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

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

    func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) { 
     print(employeeNames[row]) 
    } 
    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
     // Dispose of any resources that can be recreated. 
    } 
} 

ответ

1

Ваш код абсолютно нормально, так что единственной альтернативой является то, что вы не подключены к вашей розетке pickerView. Нажмите кнопку «Ctrl» на панели выбора в раскадровке и убедитесь, что ваш выход «picker» доходит. Если это не так, то ctrl перетащите из pickerView в вашу розетку, чтобы подключить его.

+0

Я сделал это, и pickerView, похоже, уже подключен, знаете ли вы о какой-либо другой причине, по которой я могу получить эту ошибку? Есть ли способ развернуть и найти ошибку в частности, моя проблема тогда будет пытаться понять ошибку. – Omar

+0

Эта ошибка обычно означает, что при попытке доступа к ней была указана переменная или неявно развернутая опция. Вот почему я понял, что сборщик хочет подключиться, потому что это единственное, что можно найти в ноль. –

+0

Было ли более одного выхода, подключенного к pickerView? что иногда это делает. Также, возможно, переименуйте свой контроллер представлений как PickerViewController или что-то еще, а затем установите свой раскадрованный просмотр ViewController в качестве этого класса (я не думаю, что это проблема, но стоит того) –