Я пытаюсь реализовать JSQMessageViewController с Firebase в XCode (Swift).
Я получаю ошибку: Невозможно преобразовать значение типа 'JSQPhotoMediaItem?'к ожидаемому типу аргумента 'String?' из этого кода ниже:
func observeMessages() {
messageRef.observe(.childAdded) { (snapshot) in
//print(snapshot.value)
if let dict = snapshot.value as? [String: AnyObject] {
let mediaType = dict["MediaType"] as! String
let senderId = dict["senderId"] as! String
let senderName = dict["senderName"] as! String
switch mediaType {
case "TEXT":
let text = dict["text"] as! String
self.messages.append(JSQMessage(senderId: senderId, displayName: senderName, text: text))
case "PHOTO":
let fileUrl = dict["fileUrl"] as! String
let url = NSURL(string: fileUrl)
let data = NSData(contentsOf: url! as URL)
let picture = UIImage(data: data! as Data)
let photo = JSQPhotoMediaItem(image: picture)
self.messages.append(JSQMessage(senderId: senderId, displayName: senderName, text: photo))
default:
print("unknown data type")
}
self.collectionView.reloadData()
}
}
}