web-dev-qa-db-fra.com

variable a été écrite, mais jamais lue?

Je reçois l'avertissement suivant variable 'isTaken' was written to, but never read sur le code suivant:

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
    }

pourquoi est-ce que je reçois cet avertissement et comment puis-je m'en passer?

10
Mike Strong

Comme le dit l'erreur, variable 'isTaken' was written to, but never read signifie que vous créez une instance isTaken et que vous lui affectez une valeur, mais qu'elle n'a jamais été utilisée.

14
Dharmesh

Juste éliminer les déclarations:

var isTaken: Bool = false
isTaken = true

Puisque la valeur n'est jamais utilisée, définir et assigner à si ne réalise rien.

4
zaph

En gros, cela signifie que isTaken se voit attribuer une valeur, mais que cela ne fait rien dans votre code. Vous ne l'utilisez jamais ou ne vérifiez pas sa valeur, il s'agit donc simplement d'un avertissement indiquant que la variable est inutile.

Si vous utilisez réellement isTaken et que le compilateur ne réalise pas pour une raison quelconque, vous pouvez probablement simplement ajouter une autre ligne juste après 

isTaken = true;

cela dit juste

isTaken;

Ou rendez isTaken global si vous utilisez quelque part dans le code.

3
mjmayank

C'est un avertissement du compilateur pour signaler un code mort. Vous avez probablement copié du code et supprimé du code indésirable. Ce faisant, l'utilisation de la variable locale isTaken a disparu. Donc, sa seule valeur est assignée et jamais utilisée pour concrétiser un quelconque bénéfice. Vous pouvez soit simplement supprimer le code autour de isTaken, soit vérifier et remettre en place les fonctionnalités qui l’entourent :).

2
Abhinav

Cela vous avertit d'une variable que vous avez défini une valeur, mais que vous ne l'utilisez pas après.

Il est très important de garder votre code propre et sécurisé, de sorte que le xcode vous donne simplement un peu d'aide.

isTaken = true;

C’est le point pour lequel vous avez défini une valeur sur isTaken variable.

Essayez de revoir votre code et de réfléchir à l’utilisation de cette variable.

0
dede.exe