Xcode Swift中的EXC\u BAD\u指令

Xcode Swift中的EXC\u BAD\u指令,xcode,swift,Xcode,Swift,我在斯威夫特是新来的。所以我做了这个教程来制作一个提示计算器,效果很好。我启动了一个新项目,看看是否可以重新创建它,同时保留原始代码作为参考。我用完全相同的方法创建了我的应用程序,但使用了不同的变量名 我在lblABVCalculated.text行遇到此错误: 线程1:EXC_BAD_指令(代码=EXC_I386_INVOP,子代码=0x0) 你知道为什么下面的代码不起作用吗 标题 我猜:你没有将lblABVCalculated插座与情节提要元素连接起来。。。你不会是第一个:)@MartinR

我在斯威夫特是新来的。所以我做了这个教程来制作一个提示计算器,效果很好。我启动了一个新项目,看看是否可以重新创建它,同时保留原始代码作为参考。我用完全相同的方法创建了我的应用程序,但使用了不同的变量名

我在lblABVCalculated.text行遇到此错误:

线程1:EXC_BAD_指令(代码=EXC_I386_INVOP,子代码=0x0)

你知道为什么下面的代码不起作用吗

标题
我猜:你没有将lblABVCalculated插座与情节提要元素连接起来。。。你不会是第一个:)@MartinR我喜欢斯威夫特的这种行为。这比在Objective-C中发生的情况要好得多,当你犯同样的错误时,也就是说,什么都没有。:)哈,是的,我刚找到。真的花了2个小时才弄明白,我不知道为什么它一开始就没有连接!非常感谢。
import UIKit

class FirstViewController: UIViewController {

    @IBOutlet weak var txtOG: UITextField!
    @IBOutlet weak var txtFG: UITextField!
    @IBOutlet weak var lblABVCalculated: UILabel!

    var OG = ""
    var FG = ""
    var answer : Float = 0

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

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

    @IBAction func btnCalculate(sender: UIButton) {
        calculateABV()
    }
    @IBAction func btnClear(sender: UIButton) {
        txtOG.text = ""
        txtFG.text = ""

        lblABVCalculated.text = "ABV"
    }

    func calculateABV() -> Bool {
        OG = txtOG.text
        FG = txtFG.text

        var fOG = (OG as NSString).floatValue
        var fFG = (FG as NSString).floatValue

        answer = fOG * (fFG * 0.01)

        var answerFormat : NSString = NSString(format: "%0.2f", answer)

        lblABVCalculated.text = "ABV: \(answerFormat)"
        // Thread 1: EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)

        return true
    }
}