我正在创建一个快速的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!)
}
})