【发布时间】:2018-11-18 13:20:22
【问题描述】:
我正在尝试在 Xcode (Swift) 中使用 Firebase 实现 JSQMessageViewController。
我收到一个错误:无法转换“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()
}
}
}
【问题讨论】:
标签: swift jsqmessagesviewcontroller