警告:已定义值但从未使用过;考虑用布尔测试替换

时间:2016-08-21 01:58:31

标签: ios swift function

我有一个获得以下警告的功能:

  

值intVal已定义但从未使用过;考虑用布尔测试替换。

func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool 
{
    text = (timerTxtFld.text! as NSString).stringByReplacingCharactersInRange(range, withString: string)
    if let intVal = Int(text) {
        timerDoneBtn.alpha = 1
        timerDoneBtn.enabled = true
    } else {
        timerDoneBtn.enabled = false
    }
    return true
}

有没有人可以帮我解决我需要做的事情来摆脱错误?

2 个答案:

答案 0 :(得分:3)

只需删除let即可直接对Int的结果进行比较。您无缘无故地创建intVal,并且抱怨这是一个未使用的变量。

func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool 
{
    text = (timerTxtFld.text! as NSString).stringByReplacingCharactersInRange(range, withString: string)
    if Int(text) != nil
    {
        timerDoneBtn.alpha = 1
        timerDoneBtn.enabled = true
    }
    else
    {
        timerDoneBtn.enabled = false
    }
    return true
}

答案 1 :(得分:2)

这不是错误,而是一个警告。编译器告诉你你创建了const intVal但从未使用它。

只需将您的if语句更改为

即可
if Int(text) != nil
{

}