gpt4 book ai didi

ios - 解析查询-保存具有一对多关系的 pfobject 和 children

转载 作者:行者123 更新时间:2023-11-28 21:58:27 24 4
gpt4 key购买 nike

我有一个相当典型的评论发布应用程序,我正在尝试构建它来获得乐趣。我的问题是,当我将评论保存到现有帖子(具有一个帖子 - 多个评论关系)时,评论被保存并理解它与帖子的关系,但帖子不知道评论。

我想要的:

Posts: post "Foo" | comments: "X", "Y" | other columns
Comments:
comment "X" | post "Foo" | ...
comment "Y" | post "Foo" | ...

现在:评论看起来不错,但是帖子缺少一对多的关系

Posts: post "Foo" | <NOTHING> | other columns

我尝试了两种不同的方法来保存对帖子的评论:

1) 创建评论作为 Post 的子项,保存 Post。根据this link ,这很好,并且确实保存了评论,即使我们对 post 对象执行了保存。但该帖子并未将评论视为子评论。

// Inside comment class
let pfComment = PFObject()
pfPost.addObject(pfComment, forKey: "comments") // Add the comment to the post

2) 对评论和帖子执行 saveAll,这会给我两条评论,因为帖子保存的评论被视为与其他评论分开的新对象

// Same pfComment as above,
PFObject.saveAllInBackground([pfPost, pfComment], block: ...

什么给了?解析 docs and questions没有帮助!

最佳答案

我认为当您启动并保存一个 PFObject 时,you need to be explicit about what kind of object you're dealing with .所以对于你的评论对象,你可以说 pfComment = PFObject(className: "Comment")。现在当你保存它时,Parse 会知道你想保存什么。

我相信我通过创建一个带有评论数组的 Post 类实现了您的目标,如下所示:

Post Class

我还制作了一个简单的评论类,其中有一个消息字符串:

Comment Class

从这里开始,我能够将代码放在一起以向帖子的数组添加评论。

    var post = PFObject(className:"Post")
var comment = PFObject(className:"PostComment")
comment["message"] = "New Message"

var query = PFQuery(className:"Post")
query.getObjectInBackgroundWithId("fu8gCbYVeI") {
(result: PFObject!, error: NSError!) -> Void in
if error == nil {
post = result
} else { }
}

post.addObject(comment, forKey: "comments")

PFObject.saveAll([comment, post])

这应该将评论保存为指向实际评论对象的指针。

关于ios - 解析查询-保存具有一对多关系的 pfobject 和 children,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25799655/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com