我在myPicker.dataSource = self的行中得到了以下错误。有谁知道这是为什么,或者我能做些什么来修复它吗?
威胁1:EXC_BAD_INSTRUCTION (code=EXC_1386_INVOP,subcode=0x0)
以下是代码:
import UIKit
class ViewController: UIViewController, UIPickerViewDataSource, UIPickerViewDelegate {
@IBOutlet var myPicker: UIPickerView!
@IBOutlet var textFIled: UITextField!
let pickerData = ["Mozzarella","Gorgonzola","Provolone","Brie","Maytag Blue","Sharp Cheddar","Monterrey Jack","Stilton","Gouda","Goat Cheese", "Asiago"]
override func viewDidLoad() {
super.viewDidLoad()
myPicker.dataSource = self
myPicker.delegate = self
}
func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int {
return 1
}
func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return pickerData.count
}
func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
return pickerData[row]
}
func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
textFIled.text = pickerData[row]
}
}发布于 2016-03-22 20:48:10
当您的IBOulet不正确地连接到故事板中的UIPickerView时,就会发生这种情况。删除所有连接并重新连接。
发布于 2016-03-22 20:48:13
首先,确保myPickerView在故事板中是连接的。在故事板和ViewController中检查出口名称是否相同。
如果没有运气,请尝试通过故事板将您的故事板UIPickerView连接到委托和数据源。右击并从选择器视图拖动到视图控制器,并选择“委托”和"dataSource“。
https://stackoverflow.com/questions/36164665
复制相似问题