我只是想知道最简单/建议的方法是删除PFObject以及与之相关的所有内容。例如,在照片共享应用中,如果上传者想删除他/她发布的照片,您如何删除与该照片相关的所有“赞”和评论?
现在,我正在使用:
[PFObject deleteInBackground]
但只删除对象本身。我知道我可以查询指向帖子的活动并逐个删除它们:
PFQuery *query = [PFQuery queryWithClassName:@"activity"];
query.cachePolicy = kPFCachePolicyNetworkOnly;
[query whereKey:@"image" equalTo:PFObject];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
for (int i = 0; i < [objects count]; i++) {
[[objects objectAtIndex:i] deleteInBackground];
}
}];
我只是想知道这是否是典型的做法,或者是否有更简单的方法。我想尽量减少我的应用程序中的查询数量,这样如果有办法在不查询“活动”的情况下这样做会很有用。
同样为了将来参考,删除指向某个对象的所有内容是否典型,或者在呈现它时将其过滤掉是否更好?
答案 0 :(得分:2)
通常最好过滤掉“已删除”的对象,而不是彻底删除它们。您可以尝试创建一个Cloud Function,将父对象以及任何相关对象标记为“已删除”。