检查NSTextfield是否为空OSX swift

检查NSTextfield是否为空OSX swift,swift,macos,nstextfield,Swift,Macos,Nstextfield,当用户未向NSTextfield输入值时,我使用代码设置值,如果textfield中有值,则在else之后不会继续 这里有一个例子 func calculateAmountPanels(){ let fpanelsHigh = Float(panelsHigh) let fpanelsWidth = Float(panelsWidth) if panelsHighTextField != nil && panelsWideTextField != n

当用户未向NSTextfield输入值时,我使用代码设置值,如果textfield中有值,则在else之后不会继续

这里有一个例子

 func calculateAmountPanels(){

    let fpanelsHigh = Float(panelsHigh)
    let fpanelsWidth = Float(panelsWidth)

    if panelsHighTextField != nil && panelsWideTextField != nil {
        resHightLabel.stringValue = "N/A"
        resWidthLabel.stringValue = "N/A"
        lblScreenHight.stringValue = "N/A"
        lblScreenWidth.stringValue = "N/A"
        lblScreenArea.stringValue = "N/A"
        lblAmountPanels.stringValue = "N/A"
    }
    else {


    ammountPanels = (fpanelsWidth! * fpanelsHigh!)

    printText()

}
}

由于OSX编码似乎与ios不同,因此请提供一些建议。

您必须检查NSTextField的stringValue,例如:

panelsHighTextField.stringValue != nil

如前所述,您还应该测试
panelsHighTextField.stringValue.characters.count是否高于0。

我将添加此扩展名:

extension NSTextField {
    func setStringValueIfEmpty(newValue: String) {
        if self.stringValue == nil || self.stringValue.isEmpty {
            self.stringValue = newValue;
        }
    }
}
并在字段中调用它,如下所示:

resHightLabel.setStringValueIfEmpty("N/A")

你到底在问什么?我想检查textfield是否为空,如果为空,则在difrent标签中返回“N/A”。你肯定还想测试一个空字符串。