【问题标题】:Retrieving object from Parse.com从 Parse.com 检索对象
【发布时间】:2014-11-25 21:25:34
【问题描述】:

我在尝试从 Parse 检索 PFObject 时遇到了一些问题。

这是我的代码:

    var query = PFQuery(className: "message")
    query.whereKey("recipientUsername", equalTo: PFUser.currentUser())
    var messages = query.findObjects()

    var done = false

    for message in messages {

        if done == false {

            var messageObject:PFObject =


        done == true

问题出在“var messageObject:PFObject =”中。我不知道该写什么来完成这个声明。

任何关于如何进行的想法将不胜感激。

【问题讨论】:

  • 不是message 已经是PFObject了吗?
  • 是的;我不太确定这意味着什么。我刚刚开始使用 xcode 和应用程序开发。
  • 我不知道你想用它做什么.. 我也不明白done 是做什么用的:只检索和处理数组的第一个元素?

标签: swift parse-platform xcode6 pfobject


【解决方案1】:

无论您对messageObject 变量做什么,您都不需要它。 findObjects 方法返回一个 PFObjects 数组。因为我假设它在后台返回NSArray,它在swift中被转换为[AnyObject],你只需要向下转换为PFObject的数组:

var messages = query.findObjects() as [PFObject]

然后在您的循环中,message 变量会自动推断为 PFObject 类型,因此您无需创建另一个 messageObject 变量:

for message in messages { // message is of PFObject type
    if done == false {
        // Do whatever you need with message
        println(message)
    }
}

2015 年 9 月 14 日更新:从 Swift 1.2 开始,必须使用新的 as! 强制转换运算符:

var messages = query.findObjects() as! [PFObject]

感谢@Kiran Ruth R 指出这一点。

【讨论】:

  • 是 query.findObjects() 作为 [PFObject] 还是 query.findObjects() 作为! [PFObject]
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-29
  • 1970-01-01
相关资源
最近更新 更多