Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/122.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 使用云代码操作parse.com类_Ios_Parse Platform_Parse Cloud Code - Fatal编程技术网

Ios 使用云代码操作parse.com类

Ios 使用云代码操作parse.com类,ios,parse-platform,parse-cloud-code,Ios,Parse Platform,Parse Cloud Code,我有一个使用parse.com作为后端的随机消息应用程序。我将消息保存在一个名为“messages”的类中,并使用以下键: “messageBody”(即消息的内容)和 “senderId”(当然是发件人id) 在我的Messages类中保存此消息后,我将使用云代码查询3个随机用户并将此消息发送给他们 我的问题是,哪种方法最好,因为我预见到了我当前方法中的错误。当前我使用的方法是,在用户按下send键后,我将消息保存到Parse.com,然后调用“发送给3个随机用户”云函数,但是如果在实现云

我有一个使用parse.com作为后端的随机消息应用程序。我将消息保存在一个名为“messages”的类中,并使用以下键:

  • “messageBody”(即消息的内容)和
  • “senderId”(当然是发件人id)
在我的Messages类中保存此消息后,我将使用云代码查询3个随机用户并将此消息发送给他们

我的问题是,哪种方法最好,因为我预见到了我当前方法中的错误。当前我使用的方法是,在用户按下send键后,我将消息保存到Parse.com,然后调用“发送给3个随机用户”云函数,但是如果在实现云函数之前,我的消息没有成功保存到Parse后端,该怎么办

  -(IBAction)send{

      PFObject *message = [PFObject objectWithClassName:@"Message"];
      [message setObject:self.messageContent forKey:@"messageBody"];
      [message setObject:[[PFUser currentUser] objectId] forKey:@"senderId"];

      [message saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error){
        if(error){
           //show alert with error
        }
        else{
           //everything was successful
        }
       }];



       [PFCloud callFunctionInBackground:@"sendToThreeRandomUsers" withParameters:@{} 
                                                                   block:^(NSString *result, NSError *error) {
                                                                       if (!error) {
                                                                          //cloud function was a success!
                                                                       }
                                                                    }];

  }
基本上,我想知道是否有一种方法,每当Messages类中有一个新对象时,我可以说从我的解析后端将其发送给3个随机用户,而不是从我的用户设备调用它

或者我应该完全跳过将其保存到我的解析后端,直接将其作为云函数的参数发送到我的云代码中吗?然后将其保存到我的后端。如果消息体非常大怎么办

因此,这个问题实际上不是关于代码,而是关于构造代码的方法


希望我能用Hector Ramos作为这个问题的标记

为什么不为Messages类编写一个afterSave方法呢。每当成功保存新消息时,就会执行此方法(Parse.Cloud.afterSave(“Messages”),函数(request,response){..}),并可以选择3个随机用户。API说明见下面的链接

希望这有帮助,
注意。

这完全是正确的方法。谢谢!但是如果我使用它,我应该使用云函数(消息作为参数)将消息保存到解析数据浏览器吗或者我应该像我在上面的代码中显示的那样在后台保存它吗?首先,你可以通过云和你的代码块将数据保存到解析数据浏览器。这意味着你的块可以在保存操作后将数据保存到消息类。你的后存云代码将被触发。