gpt4 book ai didi

ios - 解析数据库在应该创建新对象时正在替换对象

转载 作者:行者123 更新时间:2023-11-30 13:45:43 24 4
gpt4 key购买 nike

我已经尝试解决这个问题一段时间了,但没有成功。我有一个按钮的工作原理如下:

  • 在 Parse 中查询 videoTable 类,如果 videoID 的值(我从 YouTube 的 API 获取)不存在,则创建一个评级为 0 的新 PFObject。否则,将评级增加 1。

然而,结果是,我每次启动应用程序时尝试创建的第一个新对象没有问题,但如果我在同一运行/ session 期间创建另一个新对象,则先前创建的对象将被这个新对象替换一个。

objectID 保持不变,所以我猜测这与查询未关闭(或类似的情况)有关,导致我修改前一个对象,而不是创建一个新对象。

有人可以解释一下吗?

@IBAction func recomBtn(sender: AnyObject) {

let query = PFQuery(className: "VideosInfo")
query.whereKey("Video_ID", equalTo: videoID)
query.findObjectsInBackgroundWithBlock {
(objects: [PFObject]?, error: NSError?) -> Void in

if error == nil {
if objects?.count == 0 {
print(objects)
videosTable["Video_ID"] = self.videoID
videosTable["Rating"] = 1
videosTable.saveInBackgroundWithBlock {
(success: Bool, error: NSError?) -> Void in
if (success) {
print("Rating Created")
} else {
print(error?.description)
}}
} else {
objects![0].incrementKey("Rating")
print("Rating Increased")
videosTable.saveInBackground()
}} else {
print(error?.description)
}
}
}

最佳答案

经过多次检查,我发现我犯了一个非常愚蠢的错误!我在函数外部声明了 PFObject!因此,当我完成按钮后,PFObject 仍然存在! (由于我在转到另一个视频后并没有真正关闭 View ,因此 PFObject 仍然是该类的属性,直到我关闭应用程序为止)。

无论如何,感谢您的帮助!

关于ios - 解析数据库在应该创建新对象时正在替换对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34970846/

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