Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/98.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_Jointable - Fatal编程技术网

Ios-Parse.com删除一个对象

Ios-Parse.com删除一个对象,ios,parse-platform,jointable,Ios,Parse Platform,Jointable,我想我把这个场景复杂化了。我正在处理多对多情况下的联接表 如果我找到一个连接,我想删除它,如果我没有找到,我想添加它 添加新联接可以正常工作。我不知道如何删除 这是我的密码。如果有人发现任何错误,或者有更好的方法,请提供建议 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { NSLog(@"%s", __FUNCTION__); //Crea

我想我把这个场景复杂化了。我正在处理多对多情况下的联接表

如果我找到一个连接,我想删除它,如果我没有找到,我想添加它

添加新联接可以正常工作。我不知道如何删除

这是我的密码。如果有人发现任何错误,或者有更好的方法,请提供建议

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSLog(@"%s", __FUNCTION__);

    //Create query for all current user objects
    PFQuery *query = [PFQuery queryWithClassName:@"DDPeopleJoin"];
    [query whereKey:@"parseUser" equalTo:[PFUser currentUser]];

    [query whereKey:@"serviceKey" equalTo:[currentService valueForKey:@"serviceKey"]];
    [query whereKey:@"personKey" equalTo:[currentPerson valueForKey:@"personKey"]];

    query.cachePolicy = kPFCachePolicyCacheThenNetwork;

    // Run the query  -  if there is an object delete it otherwise, go to JoinPeople
    allDeadPeople = [NSMutableArray new];
    [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
        if (!error) {
            if (!objects) {
                NSLog(@"New Person");
                [self joinPeople];
                return;
            }
            NSLog(@"Found a match, erase them");

            for (PFObject *object in objects) {
                [object deleteInBackground];
            }
            [self refreshJoins:self];
        }

    }];

}

首先,您可以使用以下命令,而不是使用enumerate block删除每个对象:

 [PFObject deleteAllInBackground:objects];

其次,
[self-refreshJoins:self
可能会遇到问题,因为它将在删除所有
对象之前运行。您应该将其放入
-deleteInBackground:block
以确保[self-refreshJoins:self]`正常工作

非常感谢您的回答。请澄清..回答中的Ok-删除AllinBackground。但是您的意思是放[self.refresh…进入findObjectsInBackground块,或给deleteAllInBackground一个块。感谢againI将其放入
deleteAllInBackground
。这只是我的猜测,因为我还不清楚您的代码。但我认为当您使用[object deleteInBackground]这是在客户端删除对象还是仅在服务器上删除对象?