分段控制exe_bad_instruction

时间:2015-06-28 23:21:54

标签: ios swift xcode6

我创建了一个分段控件并编译了代码,但是当我点击一个新索引时,我得到:致命错误:在解开一个Optional值时意外地发现了nil。它说它是一个exe_bad_instruction并突出显示切换线。 我错过了什么或者我做错了什么?

@IBOutlet weak var segmentedControl: UISegmentedControl!
@IBOutlet weak var textLabel: UILabel!

@IBAction func indexChanged(sender: UISegmentedControl?) {
    switch segmentedControl.selectedSegmentIndex
    {
       case 0:
           textLabel.text = "First Segment Selected";
       case 1:
           textLabel.text = "Second Segment Selected";
       default:
           break;
    }
}

1 个答案:

答案 0 :(得分:1)

将您的switch行更改为此(我添加了问号):

switch segmentedControl?.selectedSegmentIndex

您需要阅读Swift中的OptionalsOptional Chaining,了解这有何帮助。

现在您的应用不会崩溃,但您必须弄清楚当前segmentedControlnil的原因。由于您没有发布足够的代码来诊断,我无法帮助您。不过,我首先要确定您是否真的希望segmentedControl拥有weak财产。