2015-09-26 22 views
10

Quando uso Parse 1.8.5 per caricare dati su Parse, questo codice cloud ha errori di compilazione in "params" che non riesco a eseguire il debug.Impossibile convertire il valore di tipo '[String: String?]' Nel tipo di argomento previsto '[NSObject: AnyObject]?'

 let params = ["phoneNumber" : userPhoneNumber, 
        "username": username, 
        "password": userPassword, 
        "Email": userEmail 
        ] 

     PFCloud.callFunctionInBackground("sendCode", withParameters: params, block: 
       { (response: AnyObject?, error: NSError?) -> Void in 
      if response?.localizedDescription != nil { 
       print(error) 
       var alert = UIAlertView(title: "Failure", message: "SignUp Error", delegate: self, cancelButtonTitle: "OK") 
       alert.show() 
      } else { 
       self.activityIndicator.stopAnimating() 
      } 
     }) 

risposta

16

Il messaggio di errore dice che ci sono tipi opzionali nei valori di params.
Assicurarsi che tutti i valori siano scartati.

+0

Questa è la risposta corretta. – user3344977

0

Si lavora per me.Try questo:

let parameters = ["number": number, 
        "username": username, 
        "password": userPassword, 
        "Email": userEmail] 
PFCloud.callFunctionInBackground("sendCode", withParameters: parameters) { results, error in 
      if error != nil { 
       print(error) 
      } else { 
       self.activityIndicator.stopAnimating() 
      } 
} 

Assicurarsi number, username, userPassword, userEmail, sendCode sono nella sintassi esatta in Parse cloud

1

ho avuto lo stesso problema nel mio progetto . Ho appena cambiato il mio codice da let parameters = ["email": mail,"password":passCode ] a let parameters = ["email": mail as! AnyObject,"password":passCode as! AnyObject]. Non sono sicuro se influisce su qualcos'altro.

0

provare questo per lanciare ogni elemento di ANYOBJECT

let params = ["phoneNumber" : userPhoneNumber as! AnyObject, 
       "username": username as! AnyObject, 
       "password": userPassword as! AnyObject, 
       "Email": userEmail as! AnyObject 
       ]