我有一个Post
和一个Comment
课程。我正在尝试保存注释,并指向post对象。我有我的帖子对象的ID。这是我的代码:
PFObject *comment = [PFObject objectWithClassName:@"Comment"];
comment[@"content"] = comment;
PFObject *post = [PFObject objectWithoutDataWithClassName:@"Post" objectId:postId];
comment[@"post"] = post;
[comment saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
if(succeeded){
//rest...
}
}];
但是,立即保存会引发异常:*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Found a circular dependency when saving.'
在客户端。
我也尝试了PFObject *post = [PFObject objectWithoutDataWithObjectId:postId
,这导致'+[PFObject parseClassName]: unrecognized selector sent to class
错误。
Post不以任何方式依赖于评论对象,(即使它确实存在,它已经是一个保存的对象(因为用户正在对它进行评论)并且指针不应该导致它)为什么我会得到它这个错误?
答案 0 :(得分:2)
我经常使用Parse,我不确定为什么它说你有循环依赖。在我看来,你的问题是这些问题:
PFObject *comment = [PFObject objectWithClassName:@"Comment"];
comment[@"content"] = comment;
您正在加载一个对象,然后将该对象设置为"内容。"每次加载注释对象时,都会将注释对象保存在父对象中,从而创建循环。您可以尝试重写这个,也许可以创建一个管理帖子和评论的新课程吗?