Parse,PFCloud - 如何重写这个PFQuery?

时间:2016-02-25 12:04:56

标签: ios parse-platform pfquery

我一直坚持这一整天,如果有人能指出我正确的方向,那就太好了!

我目前正在构建一个使用Parse作为后端和Parse Cloud来加密/解密数据的IOS应用程序。在下面的代码中,我在Parse上执行PFQuery以获取我需要的数据,但是我想在返回数据之前解密服务器端的数据。

这是我现在用来请求和显示数据的代码:

(PFQuery *)queryForTable
{
    arrdossier=[[NSUserDefaults standardUserDefaults ]objectForKey:@"Dossier_IDs"];
    query1  = [PFQuery queryWithClassName:self.parseClassName];
    [query1 whereKey:@"Dossier_ID" containedIn:arrdossier];
    [query1 whereKey:@"status" equalTo:@"open"];

  return query1;
}

我在Parse Cloud上的代码是:

Parse.Cloud.define("decryptQuery", function(request, response) {

    var doss = Parse.Object.extend("Dossier");
    var q = new Parse.Query(doss);
    q.containsAll("Dossier_ID", request.params.Dossier_IDs);
    q.find({
        success: function(results) {
        // iterate through results to call decrypt()
        response.success();
    }, 
    error: function() {
        response.error("failed");
    }
    })
});

PFCloud callFunctionInBackground看起来会是什么样的?

谢谢!

1 个答案:

答案 0 :(得分:0)

我只使用了我使用的客观C代码,但将其转换为Swift应该不难。

[PFCloud callFunctionInBackground:@"decryptQuery"
                       withParameters:@{@"Dossier_IDs": @[ARRAY WITH IDS]}
                                block:^(id answer, NSError *error) {
                                    if (!error) {
                                        //do something with answer
                                    }
                                    else {
                                        //do something with error
                                    }

}];