2017-09-09 66 views
1

嗨我對Xcode 8非常陌生,並決定我想爲macOS製作一個簡單的計算應用程序。我在網上學到的一切,但不能使頭或它的尾巴,因爲沒有我試過的作品 我下面的代碼是:將NSTextField轉換爲Xcode 8中macOS的值

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


} 

FieldP是其中u輸入一個數字,所以是FieldQQ。我希望能夠將它們添加到一起,並在命中計算按鈕後在ResultLabel字段中顯示最終結果。任何人都可以爲我解決這個問題並告訴我它是如何完成的?真的很感激它!

回答

0

最有可能的IBAction沒有連接到Interface Builder中的按鈕。檢查一下。

既然您是Swift的新手,請遵守變量名稱和方法以小寫字母開頭的命名約定。 (如果您要更改名稱,則必須重新連接Interface Builder中的UI元素)。

無關的問題NSTextField(實際上是NSControl超)也有一個floatValuedoubleValue財產(不看書或看壞的教程,這表明這種無聊的類型強制轉換爲NSString)和所有變量實際上是常數(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 

}