在尝试从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 =”中。我不知道写什么来完成这个陈述。
任何关于如何进行的想法都将受到赞赏。
答案 0 :(得分: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
指出了这一点。