我正在尝试将一个对象添加到 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 的所需对象。关键联系人
也经过仔细检查并正确无误。
最佳答案
问题是您永远不会保存关系。您在 block 中创建 PFRelation
,向其添加一个对象,然后不对其执行任何其他操作...您永远不会保存它。
相反,尝试获取 trip
对象并在保存 block 的 外部 创建 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;
}];
关于ios - PFRelation addObject 不添加关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27338069/