2017-09-09 18 views
1

こんにちは私はXcode 8が新しく、macOSのための簡単な計算アプリケーションを作ろうと決めました。私はオンラインのすべてを学んだが、私は作品を試してみた何も 私の次のコードではないので、それの頭や尾をすることはできません。NSTextFieldをMacOSのXcode 8の値に変換する

import Cocoa 

class ViewController: NSViewController { 

    @IBOutlet weak var P: NSTextField! 

    @IBOutlet weak var Q: NSTextField! 

    @IBOutlet weak var FieldP: NSTextField! 

    @IBOutlet weak var FieldQQ: NSTextField! 

    @IBOutlet weak var ResultLabel: NSTextField! 

    @IBAction func CalculateButton(_ sender: NSButton) { 

     var A = (FieldP.stringValue as NSString).floatValue 

     var B = (FieldQQ.stringValue as NSString).floatValue 

     var sum = A + B 

     ResultLabel.stringValue = "\(sum)" 

    } 



    override func viewDidLoad() { 
     super.viewDidLoad() 

     // Do any additional setup after loading the view. 
    } 

    override var representedObject: Any? { 
     didSet { 
     // Update the view, if already loaded. 
     } 
    } 


} 

uは番号を入力する場所FieldPがあるので、FieldQQがあります。私はそれらを一緒にuppを追加することができますし、最終的な結果は、計算ボタンを押した後、ResultLabelフィールドに表示されます。誰かが私のためにこれを修正し、それがどのように私に示すことができますか?心から感謝する!

答えて

0

ほとんどの場合、IBActionはInterface Builderのボタンに接続されていません。それを確認します。

Swiftを初めてお使いになりましたので、変数名とメソッドが小文字で始まる命名規則に従ってください。 (名前を変更する場合は、Interface BuilderでUI要素を再接続する必要があります)。問題NSTextField(実際NSControlスーパー)とは無関係の

も(読んだり、そのような愚かなタイプNSStringにキャストを示唆悪いチュートリアルを見ていない)floatValuedoubleValue性質を持っており、すべての変数は、実際には定数(let)です。黄色の警告とそれらを修正するための提案を考えてください。

コードが

@IBOutlet weak var fieldP: NSTextField! 

@IBOutlet weak var fieldQQ: NSTextField! 

@IBOutlet weak var resultLabel: NSTextField! 

@IBAction func calculateButton(_ sender: NSButton) { 
    let a = fieldP.floatValue 
    let b = fieldQQ.floatValue 
    let sum = a + b 
    resultLabel.stringValue = "\(sum)" 

    // or even resultLabel.floatValue = sum 

} 
ことになっている
関連する問題