【问题标题】:How do you save multiple fields to one row or objectId in Parse using Swift?如何使用 Swift 将多个字段保存到 Parse 中的一行或 objectId?
【发布时间】:2016-02-05 08:08:12
【问题描述】:

我从 Parse 获得上述布局。我想要的是 vid 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")
            }
        }

【问题讨论】:

    标签: swift parse-platform pfobject


    【解决方案1】:

    在您拥有let videoSave = PFObject(className:"UserVideos") 的地方,您每次都在创建一个新的 videoSave 对象。您需要将其移到循环之外,以便每次访问同一个对象而不是创建一个新对象。但是,您当前设置代码的方式会遇到问题,因为每个对象只能调用一个同步操作(在本例中为您的保存),所以第二个,第三个,甚至可能一直到第 10 次保存可能不会发生,因为它需要在调用下一个之前完成第一个保存。您需要在循环之外创建对象,运行循环,然后在最后调用 save 以确保在所有数据更新之前不会保存。

    如果这不完全在循环中,您需要每次取回 videoSave 对象,可能通过将其存储到您的用户中,然后从用户对象中获取它。

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

        据我了解,虽然我将 Parse 中的信息保存为字典,但这实际上是一种无效的数据类型。这就是我无法检索的原因,因为 Parse 无法识别信息。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-06-22
          • 2018-01-14
          • 2019-09-16
          相关资源
          最近更新 更多