2015-01-27 1 views
0

У меня есть функция в моем приложении, где один пользователь заполняет форму и сохраняет ее для разбора. Я хочу, чтобы объект, который был сохранен, отправляется пользователю b (есть указатель на пользователя b в сохраненном объекте). У меня есть функция afterSave, написанная для этого, но я получаю ошибки. Я все еще новичок в javascript, поэтому я был бы очень признателен, если бы кто-то помог мне. Заранее спасибо.Использование кода облака Parse для автоматического нажатия объекта от одного пользователя к другому

Parse.Cloud.define("sendDealToConfirm", function(request, response) { 
var sender = request.user; 
var recipientUserId = request.params.recipientId; 
var task = request.params.task; 
var price = request.params.price; 
var address = request.params.address; 
var time = request.params.time; 
var taskP = request.params.taskP; 

//send the push 
var recipientUser = new Parse.User(); 
recipientUser.id = recipientUserId; 
var pushQuery = new Parse.Query(Parse.Installation); 
pushQuery.equalTo("user", recipientUser); 

Parse.Push.send({ 
    where: pushQuery, 
    data: { 
     alert: "You have a new deal to confirm!", 
     task: task, 
     poster: sender, 
     price: price, 
     address: address, 
     time: time, 
     taskP: taskP 
    } 
}).then(function(){ 
    response.success("Deal was sent successfully.") 
     }, function(error){ 
    response.error("Deal failed to send:" + error.message); 
     }); 
}); 

Вот мой IOS код

[PFCloud callFunctionInBackground:@"sendDealToConfirm" 
        withParameters: @{@"recipientId": self.doer, @"task": self.details[@"Task_Name"], @"price": self.dealPrice, @"address": self.dealAddress, @"time": self.dealTime, @"taskP": self.details[@"Task_Pointer"]} 
          block:^(NSString *success, NSError *error) { 

           if (!error){ 
            NSLog(@"Push successful"); 
           } else { 
            NSLog(@"Error in push %@", error); 
           } 

          }]; 

EDIT Вот отчет об врезаться

*** Нагрузочных приложения из-за неперехваченное исключение 'NSInternalInconsistencyException', причина: «PFObjects не здесь.

+0

Можете ли вы установить контрольную точку исключения, запустить снова и сообщить нам, какая строка кода не работает? – rickerbh

ответ

0

Ваш код облаков кажется прекрасным, но возможно ли, что один из объектов NSDictionary может быть PFObject?

@{@"recipientId": self.doer, @"task": self.details[@"Task_Name"], @"price": self.dealPrice, @"address": self.dealAddress, @"time": self.dealTime, @"taskP": self.details[@"Task_Pointer"]} 

Потому что, AFAIK Parse не позволяют PFObject s в Parse.Cloud.define Попробуйте пройти PFObject s id, как NSString к параметрам и в коде облака создать объект с идентификатором.

 Смежные вопросы

  • Нет связанных вопросов^_^