如何使用Swift将多个字段保存到Parse中的一行或objectId?

时间:2015-11-04 17:39:57

标签: swift parse-platform pfobject

enter image description here

我从Parse获得上述布局。我想要的是视频1,2和3在同一行;与相同的对象ID相关联。我怎样才能做到这一点?我的最终目标是在桌面视图上轻松检索每个用户10个视频字典。这会有什么不同吗?我这样攒钱.....

videoDict = ["id":videoId, "title":vidTitleText, "description":vidDescription, "image":vidIMG]
        let videoSave = PFObject(className:"UserVideos")
        videoSave["user"] = PFUser.currentUser()!.username
        videoSave["userObjectId"] = PFUser.currentUser()!.objectId
        videoSave["vid\(saveValueLBL.text!)"] = videoDict
        videoSave.saveInBackgroundWithBlock { (success, error ) -> Void in
            if success == true
            {
                print("Succesfull")
            }
        }

3 个答案:

答案 0 :(得分:0)

您有let videoSave = PFObject(className:"UserVideos")的位置每次都要创建一个新的videoSave对象。你需要在循环之外移动它,这样你每次都可以访问同一个对象而不是创建一个新对象。但是,你当前设置代码的方式会遇到问题,因为每个对象只能调用一个同步动作(在这种情况下,你的保存),所以第二个,第三个,甚至可能是所有方式到第10次保存可能不会发生,因为它需要第一个完成才能调用下一个。您需要在循环外创建对象,运行循环,然后在结束时调用save以确保在更新所有数据之前它不会保存。

如果这不是循环内部的全部内容,则需要每次都返回videoSave对象,可能是将其存储到用户身上,然后从用户对象中获取它。

答案 1 :(得分:0)

将所有内容放在循环之外,并将下面的代码保留在循环中:

videoDict = ["id":videoId, "title":vidTitleText, "description":vidDescription, "image":vidIMG]
videoSave["vid\(saveValueLBL.text!)"] = videoDict

答案 2 :(得分:0)

据我所知,虽然我将Parse中的信息保存为字典,但实际上这是一种无效的数据类型。这就是我在检索时遇到问题的原因,因为Parse没有识别出这些信息。