检查的NSTextField为空或不OSX迅速

问题描述:

我用一个代码来设置,当用户不输入查询将值的NSTextField值,它不会否则以后继续,如果在文本字段值检查的NSTextField为空或不OSX迅速

这里是一个exampel。

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。

+1

你甚至在问什么? – Alexander

+0

我想检查文本字段是否为空,如果是这样,请在不同的标签中返回“N/A”。 – lightmaster2006

你必须检查的的NSTextField的stringValue的,如:

panelsHighTextField.stringValue != nil 

正如提到的,你也应该测试panelsHighTextField.stringValue.characters.count高于0

+2

你当然也想测试一个空字符串。 – HAS

我想补充一点延伸:

extension NSTextField { 
    func setStringValueIfEmpty(newValue: String) { 
     if self.stringValue == nil || self.stringValue.isEmpty { 
      self.stringValue = newValue; 
     } 
    } 
} 

并在域上调用它,如下所示:

resHightLabel.setStringValueIfEmpty("N/A")