2015-09-26 16 views
10

Parse 1.8.5を使用してデータをParseにアップロードすると、このクラウドコードは "params"にコンパイルエラーがあり、それをデバッグできません。'[String:String?]'型の値を期待される引数型 '[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() 
      } 
     }) 

答えて

16

エラーメッセージには、paramsの値にオプションのタイプが含まれていると表示されます。
すべての値がラップされていないことを確認してください。

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() 
      } 
} 

numberusernameuserPassworduserEmailsendCodeを解析クラウド

+0

に各要素をキャストするために、これを上試してみてください。 – user3344977

0

。私はコードをlet parameters = ["email": mail,"password":passCode ]からlet parameters = ["email": mail as! AnyObject,"password":passCode as! AnyObject]に変更しました。それが他の何かに影響するかどうかはわかりません。

1

で正確な構文で、私は私のプロジェクトで同じ問題を抱えていていることを確認してください:それは、これがme.Tryのために働く

0

はこれが正解であるANYOBJECT

let params = ["phoneNumber" : userPhoneNumber as! AnyObject, 
       "username": username as! AnyObject, 
       "password": userPassword as! AnyObject, 
       "Email": userEmail as! AnyObject 
       ] 
関連する問題