2015-09-17 16 views
9

Im ottenendo il seguente avviso variable 'isTaken' was written to, but never read il seguente codice:è stata scritta, ma mai letta?

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 
    } 

Perché mi appare il messaggio di avviso e come faccio franca?

+0

utilizzare 'isTaken' globalmente se è davvero necessario utilizzarlo altrimenti non sembra esserci alcun uso di' isTaken' –

risposta

11

Come errore dice variable 'isTaken' was written to, but never read significa che si sta creando l'istanza isTaken e l'assegnazione di un valore ma non è mai stata utilizzata.

3

Basta eliminare le dichiarazioni:

var isTaken: Bool = false 
isTaken = true 

Dal momento che il valore non viene mai usato la definizione e l'assegnazione a se compie nulla.

3

Fondamentalmente si sta dicendo che isTaken ha un valore, ma in realtà non fa nulla nel codice. Non lo utilizzi mai o ne controlli il valore, quindi è semplicemente un avvertimento che dice che la variabile non è necessaria.

Se effettivamente si utilizza isTaken e il compilatore non si rende conto, per qualche motivo, si potrebbe probabilmente solo aggiungere un'altra riga dopo

isTaken = true; 

che dice solo

isTaken; 

O fare isTaken globale se stai usando altrove nel codice.

2

È un avvertimento del compilatore per indicare un codice morto. Probabilmente hai copiata copia del codice e rimosso del codice indesiderato. In tal modo, l'utilizzo della variabile locale isTaken è scomparso. Quindi, è stato assegnato un valore e non è mai stato utilizzato per concretizzare alcun beneficio. Puoi semplicemente rimuovere il codice intorno a isTaken o ricontrollare la funzionalità attorno ad esso :).

0

Si tratta di un var che si imposta un valore, ma non operare su di esso dopo.

È molto importante mantenere il proprio codice pulito e sicuro, in modo che xcode ti dia un piccolo aiuto.

isTaken = true; 

Quello è il punto impostate un valore per isTaken variabile.

Prova a rivedere il codice e pensa all'uso di questa variabile.

Problemi correlati