Ios PFRelation addObject不添加关系

Ios PFRelation addObject不添加关系,ios,parse-platform,pfobject,pfrelation,Ios,Parse Platform,Pfobject,Pfrelation,我试图在Parse中将一个对象添加到一个关系中,尽管代码执行时没有任何错误,但关系不会出现在后端,因此该对象没有保存 PFObject *newContact = [PFObject objectWithClassName:@"Contact"]; [newContact saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) { PFQuery *query = [PFQuery queryWithClassName:@

我试图在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
也经过了双重检查并正确无误。

问题是您从未保存该关系。您可以在块内创建
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;
}];

问题是你从来没有保存过这种关系。您可以在块内创建
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;
}];

问题是你从来没有保存过这种关系。您可以在块内创建
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;
}];

问题是你从来没有保存过这种关系。您可以在块内创建
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;
}];

你永远也救不了这个关系。。。你的代码在某种意义上是颠倒的。。。我会打一个答案来解释。你永远不会保存关系。。。你的代码在某种意义上是颠倒的。。。我会打一个答案来解释。你永远不会保存关系。。。你的代码在某种意义上是颠倒的。。。我会打一个答案来解释。你永远不会保存关系。。。你的代码在某种意义上是颠倒的。。。我会打一个答案来解释。非常感谢你指出我愚蠢的错误!我刚刚在块内添加了行
[trip saveInBackground]
,因此我不必查询
trip
synchronous。非常感谢您指出我愚蠢的错误!我刚刚在块内添加了行
[trip saveInBackground]
,因此我不必查询
trip
synchronous。非常感谢您指出我愚蠢的错误!我刚刚在块内添加了行
[trip saveInBackground]
,因此我不必查询
trip
synchronous。非常感谢您指出我愚蠢的错误!我刚刚在块内添加了行
[trip saveInBackground]
,因此我不必查询
trip
synchronous。