0

我正在尝试将对象添加到 Parse 中的关系中,尽管代码在没有任何错误的情况下执行,但关系没有出现在后端,因此没有保存对象。

PFObject *newContact = [PFObject objectWithClassName:@"Contact"];

[newContact saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
    PFQuery *query = [PFQuery queryWithClassName:@"Trip"];
    PFObject *trip = [query getObjectWithId:self.parseID];

    PFRelation *rel = [trip relationForKey:@"contacts"];
    [rel addObject:newContact];

    contact.parseID = newContact.objectId;
}];

我还检查了PFObject trip是否正确,我用相应的 id 取回了所需的对象。密钥contacts也经过仔细检查并正确无误。

4

1 回答 1

3

问题是您永远不会保存关系。您PFRelation在块内创建,向其中添加对象,然后什么都不做......您永远不会保存它。

相反,尝试获取trip对象并创建保存块的PFRelation 外部,例如:

PFQuery *query = [PFQuery queryWithClassName:@"Trip"];
PFObject *trip = [query getObjectWithId:self.parseID];

PFObject *newContact = [PFObject objectWithClassName:@"Contact"];

PFRelation *rel = [trip relationForKey:@"contacts"];
[rel addObject:newContact];

[newContact saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
    contact.parseID = newContact.objectId;
}];
于 2014-12-07T00:48:38.727 回答