variables是写的,但从来没有读过?

我得到下面的警告variable 'isTaken' was written to, but never read下面的代码:

 func textFieldShouldEndEditing(textField: UITextField) -> Bool { var isTaken: Bool = false if textField == usernameTxt { var query = PFQuery(className: "_User") query = PFQuery(className: "_User") query.whereKey("username", equalTo: usernameTxt.text!) query.findObjectsInBackgroundWithBlock { (objects: [AnyObject]?, error: NSError?) in if error == nil { if (objects!.count > 0){ isTaken = true } } else { print("Username is available. ") } } else { print("error") } } } return true } 

为什么我得到警告,我该怎么办呢?

由于错误说variable 'isTaken' was written to, but never read意味着你正在创buildisTaken实例,并isTaken分配一个值,但它从来没有使用过。

基本上这是说,isTaken分配了一个值,但它实际上并没有在你的代码中做任何事情。 你从来没有使用它或检查它的价值,所以这只是一个警告说,该variables是不必要的。

如果你实际上使用了isTaken,并且编译器由于某种原因没有意识到,那么你可以直接添加另一行

 isTaken = true; 

只是说

 isTaken; 

或者,如果您在代码中使用其他位置,请将其设为全局。

只要消除这些陈述:

 var isTaken: Bool = false isTaken = true 

由于从不使用定义和赋值如果什么都不成立。

它的编译器警告指出一个死代码。 你可能有复制粘贴一些代码,并删除了一些不需要的代码。 这样做,局部variablesisTaken用法消失了。 所以,它唯一被分配的价值,并没有用于实现任何好处。 您可以简单地删除isTaken周围的代码或仔细检查周围的function:)。

这是警告你一个variables,你设置了一个值,但不要在之后操作。

保持你的代码清洁和安全非常重要,所以xcode只是给你一点帮助。

 isTaken = true; 

那就是你设置一个值的点是variables。

尝试检查你的代码,并考虑使用这个variables。