我是Swift的初学者,我发现这个代码在线。我试着问作者,但他们不会回答,因为我刚开始,如果有人能够明确错误的确切原因以及我如何解决这个问题,我会非常感激。我继续得到错误“致命错误:意外地发现零,同时解开可选值”。我尝试在网上找到解决方案,但没有奏效。有人请帮助我吗?非常感谢! (有点解释的将是巨大的!:))致命错误:意外地发现零,同时解开UIPickerView的可选值
这是我(以及他们的)代码:
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();
}
}
您是否将您的'pickerView'插座连接到您的故事板中的'UIPickerView'? – vacawama
确保您的IBOutlet未连接到故事板。 – NSGangster
我尝试连接pickerView插座,但它只会重复行'@IBOutlet弱var pickerView:UIPickerView!'。 –