Swift Parse Live查询 - 当订阅通过PFFile遇到新对象时崩溃

时间:2017-05-14 06:37:27

标签: ios swift parse-server livequery

我正在创建一个快速的3解析实时查询消息传递应用程序。发送图片时,如果订阅获得新消息,则会出现以下错误

  

***由于未捕获的异常终止应用程序' NSInvalidArgumentException',原因:' - [__ NSDictionaryI getDataInBackgroundWithBlock:]:无法识别的选择器发送到实例0x60000106e9c0'

当我重新加载页面并且原始查询获得图片时,它工作正常。 这是我的代码

这是我订阅的原始查询

var messagesQuery: PFQuery<Message> {
    return (Message.query()?
        .whereKey("roomName", equalTo: chatName)
        .order(byAscending: "createdAt")) as! PFQuery<Message>

以下是我对该查询的订阅

func subscribeToUpdates() {
    subscription = liveQueryClient
        .subscribe(messagesQuery)
        .handle(Event.created) { _, message in
            self.messages.append(message)
            DispatchQueue.main.async(execute: {
                self.collectionView?.reloadData()
            })
        }
}

以下是导致崩溃的代码(仅当通过实时查询订阅而不是传统查询收到邮件时)

(message.image)?.getDataInBackground(block: { (data:Data?, error:Error?) in
    if error == nil {
        cell.messageImageView.image = UIImage(data: data!)
    }
})

0 个答案:

没有答案