-1

尝试从 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 =”中。我不知道该写什么来完成这个声明。

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

4

1 回答 1

1

无论您与messageObject变量有什么关系,您都不需要它。该findObjects方法返回一个数组PFObjects。因为我假设它在后台返回NSArray,它被[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指出这一点。

于 2014-11-25T21:54:56.577 回答