我正在尝试构建一个聊天应用程序,但是这段代码有问题:
func loadData() {
let FindTimeLineData: PFQuery = PFQuery(className: "Message")
FindTimeLineData.findObjectsInBackgroundWithBlock { (objects: [AnyObject]!, NSError) -> Void in
self.MessagesArray = [String]()
for MessageObject in objects {
let messageText: String? = (MessageObject as! PFObject) ["Text"] as? String
if messageText != nil {
self.MessagesArray.append(messageText!)
}
}
}
}
我需要从 Parse 中检索数据,但是 .findObjectsInBackgroundWithBlock 方法告诉我它无法将 AnyObject 类型的值转换为 Void in。我该如何解决这个问题?提前致谢。
最佳答案
试试这样:
var query = PFQuery(className: "Message")
query.findObjectsInBackgroundWithBlock {
(remoteObjects: [PFObject]?, error: NSError?) -> Void in
if error == nil {
print("Retrieved \(remoteObjects!.count) messages from server.")
self.MessagesArray = [String]() // By convention, you should name this "messagesArray" instead, and initialize it outside this method
for messageObject in remoteObjects {
if let messageText: String? = messageObject["Text"] as? String {
self.messagesArray.append(messageText)
}
}
} else {
print("Error: \(error!) \(error!.userInfo)")
}
}
(没有正确校对,但你应该能够让它发挥作用)
关于ios - 从 Parse 中检索信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34373171/