2016-09-07 9 views
0

最初の講義に問題があるとは思わない!私たちは計算機を構築しています(この時点で計算機としては全く機能していません)。私はperformOperation関数が追加されるまでうまくいきました。今、私は "このクラスはキー値をコードに準拠していません"というエラーになっています。問題は、私が見る限りでは、自分のコードがクラス内で使っているコードを正確に複製していることです。私は何かが欠落しているに違いないが、違いを見つけるためにおよそ50回チェックしたが、見つけられない。助けて?毎回クラッシュしています。cs193pスウィフトキー値コーディングエラー

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) 
     } 
    } 
} 

} 

EDIT:コードフォーマット

+0

私はあなたがInterface Builderのを使用して作成し、あなたの電卓のスクリーンショットを含めることができれば、それは参考になると思います。あなたのコードは私にはうまく見えます。また、いつこのエラーが発生しますか?ボタンを押した後に? – Suhaib

+0

ここに投稿する際にはご注意ください。タイトルを編集して質問の性質を正確に記述します。 Stack Overflowは、自由に流れるディスカッショングループよりプログラミングに関する質問のWikipediaのほうが多いことを意味します。 –

+0

コード内で@IBOutletの名前を変更または削除すると、エラーが発生します。ストーリーボードでViewControllerをクリックし、Xcodeの右パネルにあるConnections Inspectorで接続を確認します。接続されていないコンセントには!その次。その横のxをクリックしてその接続を削除し、もう一度接続してみてください。 – vacawama

答えて

1

あなたは右のツールバーのモジュールのテキストフィールドで、ストーリーボードにあなたのViewControllerを確認することができます。

モジュールのテキストフィールド は(何のプレースホルダがありません)空の場合は、以下の手順を実行します。

  • ステップ1.フォーカスモジュールのTextField
  • ステップ2.編集し、ランダムに、クリア
  • 手順3. Enterキーを押します、結果がこの写真と同じなら、すべてがうまくいく。

enter image description here

+0

ありがとうございます!残念ながら、それはすでに問題にならなかったので、電卓に正しく接続されていました。 –

+0

接続されたプロパティにもかかわらず、この問題が発生しました。私はそれがxcodeのバグに起因すると思う。 –

関連する問題