Ios PFRelation addObject不添加关系
我试图在Parse中将一个对象添加到一个关系中,尽管代码执行时没有任何错误,但关系不会出现在后端,因此该对象没有保存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:@
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。