2015-10-26 107 views
0

此功能打印出“输入数字!”当textField中没有输入任何内容时,但如果我在TextField中输入了某些内容,它仍然会输出“输入数字!”我显然希望它打印出“哦,你是(newAge)”,当输入一个数字时,我错过了什么?当.isEmpty!= nil时,输出正确,else语句中没有输出

Swift 2.0 

@IBAction func SubmitAgeButton(sender: AnyObject) { 

let newAge = String(textField.text!) 

if ((textField.text?.isEmpty) != nil) { 
     label.text = "Enter a number!" 
    } 
    else { 

     label.text = "Oh, you're \(newAge)" // This isn't printing out. 

     return() 
    } 

} 

回答

1

用你的代码检查文本是否存在并返回一些东西。这两个“”以及一个非空字符串都可以。即布尔。

所以if let text = textField.text where !text.isEmpty)

+0

是的,我用引号尝试过了,它的工作原理,但我想用isEmpty方法,因为我从来没有使用过。你是否说我需要添加“ - > BOOL”?不太遵循。 – TokyoToo

+0

您检查isEmpty是否返回nil,但它只返回'false'或'true'。所以!= nil应该是!= false – Simon

+0

感谢Simon澄清它。它现在有效。 if((inputField.text?。isEmpty)!= false)'。 Xcode没有给出任何错误,所以很混乱。 – TokyoToo