いくつかのオブジェクトを返すCloud Code関数がありますが、そのうちのいくつかはブーリアンです。下記のように返されたオブジェクトのブール値に基づいてSwiftコードで何かしたいと思います。しかし、実装では複数のエラーが発生しています。SwiftのCloud Codeからbooleanを返す方法
クラウドコード
Parse.Cloud.define("checkCharge", function(request, response){
stripe.charges.retrieve(request.params.charge, function(err, charge) {
if(err){
console.log(err);
response.error(err);
}else{
console.log("Successfully checked the charge");
response.success(charge);
}
});
});
スウィフトコード
PFCloud.callFunctionInBackground("checkCharge", withParameters: ["charge": orderCharge]) { (success: AnyObject?, error: NSError?) -> Void in
// if let responseJSON: [String: Bool] = success as? [String: Bool] {
if error == nil{
// let responseString = response as? String
// let chargeCaptured: Bool = success["captured"]
let objects = success as! NSArray
for object in objects {
let chargeCaptured = object["captured"] as! Bool
let chargeRefunded: Bool = success["refunded"]
let chargePaid: Bool = success["paid"]
if chargeCaptured == true || chargeRefunded == true || chargePaid == true{
print("charge already processed charge")
object.deleteInBackground()
}else{
self.storyboard
}
私は、このような添字のあいまいな使用などのエラーを取得し、私は定数を設定しようとするたび、ANYOBJECTは何の添字のメンバーを持っていないタイプ。私はまた、BoolをBoolに変換することはできません。
どのコード行がエラーをスローします。これは、オブジェクトがAnyObject型であり、呼び出すメソッドを含んでいないことを意味します。希望のタイプにキャストする必要があるかもしれません。 let文の場合に使用 – user1046037
@ user1046037ありがとう。私は '' charge catched''、 '' charge refunded''、 '' charge charge ''という行にエラーを表示します。 – Dups
これらのオブジェクトをBoolにキャストします。 'as'演算子を使います。あなたはSwiftに精通していますか?もしそうなら、あなたが100%確実でない限り、unwrapオプションを強制しないでください。 – user1046037