“保存时发现了循环依赖。”当试图保存指向现有Parse对象的指针时

时间:2015-01-18 18:35:48

标签: ios parse-platform pfobject

我有一个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不以任何方式依赖于评论对象,(即使它确实存在,它已经是一个保存的对象(因为用户正在对它进行评论)并且指针不应该导致它)为什么我会得到它这个错误?

1 个答案:

答案 0 :(得分:2)

我经常使用Parse,我不确定为什么它说你有循环依赖。在我看来,你的问题是这些问题:

PFObject *comment = [PFObject objectWithClassName:@"Comment"];
comment[@"content"] = comment;

您正在加载一个对象,然后将该对象设置为"内容。"每次加载注释对象时,都会将注释对象保存在父对象中,从而创建循环。您可以尝试重写这个,也许可以创建一个管理帖子和评论的新课程吗?