Parse 1.8.5を使用してデータをParseにアップロードすると、このクラウドコードの「params」にコンパイルエラーが発生し、デバッグできません。
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()
}
})
エラーメッセージは、params
の値にオプションのタイプがあることを示しています。
すべての値がアンラップされていることを確認してください。
私のプロジェクトでも同じ問題がありました。コードをlet parameters = ["email": mail,"password":passCode ]
からlet parameters = ["email": mail as! AnyObject,"password":passCode as! AnyObject]
に変更しました。それが他の何かに影響を与えるかどうかわからない。
それは私のために働きます。これを試してください:
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()
}
}
number
、username
、userPassword
、userEmail
、sendCode
がParseCloudの正確な構文であることを確認してください
これを試して、各要素をAnyObjectにキャストします
let params = ["phoneNumber" : userPhoneNumber as! AnyObject,
"username": username as! AnyObject,
"password": userPassword as! AnyObject,
"Email": userEmail as! AnyObject
]