2017-09-09 25 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 

}