ios - 无法将多个参数从 iOS 发送到 Cloud Code

标签 ios iphone parse-platform parse-cloud-code

没有发生错误,但是当我运行程序时它崩溃了。

应用代码

@property (nonatomic, strong) NSDate *CurrentDate;

- (void) GetCalUsed{
NSMutableDictionary *params = [NSMutableDictionary new];
PFUser *user = [PFUser currentUser];
CurrentDate = [NSDate date];
params[@"user"] = user.objectId;
params[@"date"] = CurrentDate;
[PFCloud callFunctionInBackground:@"CalUsed"
                   withParameters:params
                            block:^(NSNumber *CalUsed1, NSError *error) {
                                if (!error) {
                                    NSLog(@"Calories : %@",CalUsed1);
                                    CalUsed = CalUsed1;
                                    NSLog(@"Selected Date : %@",CurrentDate);


                                }

                            }];

云代码

Parse.Cloud.define("CalUsed", function(request, response) {
var user = request.user;
var date = request.date;
var query = new Parse.Query("FoodLog");

query.equalTo("user",user);
query.equalTo("Date",date);
               query.find({
                          success: function(results) {
                          var sum = 0;
                          for (var i = 0; i < results.length; ++i) {
                          sum += results[i].get("Calories");
                          }
                          response.success(sum);
                          },
                          error: function() {
                          response.error("lookup failed");
                          }
                          });
               });

我试过按照这个方法sending multiple parameters in "withParameters:" call但它不起作用。

最佳答案

你应该在请求之后和字典键之前有 .params:

Parse.Cloud.define("CalUsed", function(request, response) {
var user = request.params.user;
var date = request.params.date;
var query = new Parse.Query("FoodLog");

query.equalTo("user",user);
query.equalTo("Date",date);
               query.find({
                          success: function(results) {
                          var sum = 0;
                          for (var i = 0; i < results.length; ++i) {
                          sum += results[i].get("Calories");
                          }
                          response.success(sum);
                          },
                          error: function() {
                          response.error("lookup failed");
                          }
                          });
               });

关于ios - 无法将多个参数从 iOS 发送到 Cloud Code,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28705719/

相关文章:

ios - Swift 无法将类型 __NSInlineData 的值转换为 PFFile

iphone - 如何通过按钮退出应用程序?

objective-c - IOS:NSDate 问题

ios 应用程序在解析 xml 时崩溃

iphone - 如何解决iphone开发中遇到的EXC_BAD_ACCESS错误

iphone - 可以在没有真实设备的情况下测试 iPhone 应用程序吗?

iOS/核心动画 : 12 overlapping cards in a circle

ios - 将 Quartz/Core Graphics 绘图保存到核心数据或文本文件并再次加载以继续绘图

javascript - 对象更新失败后解析回滚

ios - 无法编译 Parse + Facebook SDK(Apple Mach-O 链接器错误)