1

我有PostComment堂课。我正在尝试使用指向帖子对象的指针来保存评论。我有我的帖子对象的 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 不以任何方式依赖评论对象,(即使它依赖于评论对象,它已经是一个保存的对象(因为用户正在评论它)并且指针不应该导致它)为什么我会收到这个错误?

4

1 回答 1

2

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

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

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

于 2015-01-18T18:53:47.863 回答