Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.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 在解析时更新值而不首先获取对象(如SQL更新)_Ios_Objective C_Parse Platform - Fatal编程技术网

Ios 在解析时更新值而不首先获取对象(如SQL更新)

Ios 在解析时更新值而不首先获取对象(如SQL更新),ios,objective-c,parse-platform,Ios,Objective C,Parse Platform,是否可以更新对象的值而不必首先获取对象?如果可以的话,我可以保存一堆解析请求 这就是我现在拥有的: // this uses two Parse requests PFQuery *q = [PFQuery queryWithClassName:@"conversations"]; // 1st request [q getObjectInBackgroundWithId:_conversationID block:^(PFObject *object, NSError *error){

是否可以更新对象的值而不必首先获取对象?如果可以的话,我可以保存一堆解析请求

这就是我现在拥有的:

// this uses two Parse requests
PFQuery *q = [PFQuery queryWithClassName:@"conversations"];

// 1st request
[q getObjectInBackgroundWithId:_conversationID block:^(PFObject *object, NSError *error){
    [object setValue:message forKey:@"lastMessage"];
    [object saveInBackground]; // 2nd request
}];
我想这样做:

// this would use one Parse request if it would work
PFQuery *q = [PFQuery queryWithClassName:@"conversations"];
[q whereKey:@"objectId" equalTo:_conversationID]
[q setValue:message forKey:@"lastMessage"];
[q executeInBackground]; // the only request

我知道executeInBackground不存在,但希望我还缺少一些东西:)

不,这是不可能的。根据您的用例,您可能能够使用云代码

根据您的代码,我猜您希望在对话中添加聊天信息。您可以这样做,而不是获取对话对象并向其添加消息,然后保存它:

所有聊天信息都有自己的对象。这意味着当用户编写消息时,这是一个请求:一个新的ChatMessage对象,包括一个作为对话对象的属性。在afterSave钩子(云代码)中,您可以使用一个小脚本来获取对话对象,并在对话中添加指向指针数组的指针

这使您可以跟踪对话中的所有消息,而无需在设备上执行所有查询