我不敢相信我在第一次講座中遇到問題!我們正在建立一個計算器(在這一點上它根本不起計算器的作用)。我的工作很好,直到performOperation函數被添加。現在我得到「這個類不符合關鍵值編碼」的錯誤。問題是,就我所見,我的代碼完全複製了他在類中使用的代碼。我必須失去一些東西,但我已經檢查了大約50次以找到差異,我找不到一個。幫幫我?它每次都在崩潰。cs193p Swift - 鍵值編碼錯誤
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var display: UILabel!
var userIsInTheMiddleOfTyping = false
@IBAction func touchDigit(sender: UIButton) {
let digit = sender.currentTitle!
if userIsInTheMiddleOfTyping {
let textCurrentlyInDisplay = display.text!
display.text = textCurrentlyInDisplay + digit
} else {
display.text = digit
}
userIsInTheMiddleOfTyping = true
}
@IBAction func performOperation(sender: UIButton) {
userIsInTheMiddleOfTyping = false
if let mathematicalSymbol = sender.currentTitle {
if mathematicalSymbol == "π" {
display.text = String(M_PI)
}
}
}
}
編輯:代碼格式
我認爲這將是有益的,如果你可以包括你使用Interface Builder創建了計算器的屏幕截圖。你的代碼對我來說看起來很好。另外,你什麼時候遇到這個錯誤?按下按鈕後? – Suhaib
在這裏發佈時請注意。編輯您的標題來準確描述您的問題的性質。堆棧溢出意味着更多的是一個維基百科的編程問題,而不是一個自由流動的討論組。 –
如果您在代碼中重命名或刪除@IBOutlet,則會發生錯誤。單擊故事板中的ViewController,然後在Xcode右側的Connections Inspector中檢查連接。一個沒有連接的插座將有一個!在它的旁邊。通過單擊它旁邊的x來刪除該連接並嘗試再次連接。 – vacawama