The error message says that Downcast from 'String?!' to 'String' only unwraps optionals; did you mean to use '!!'? I replaced String to NSArray but it didn't work. Does anyone know how to fix this?
returnFirebaseUrl(self.myRootRef).queryLimitedToLast(1000).observeEventType(FEventType.ChildAdded, withBlock: { (snapshot) in
self.showProgressHUD()
// 3 codes below are the reason why I got error for.
let text = snapshot.value["text"] as? String
let sender = snapshot.value["from"] as? String
let name = snapshot.value["name"] as? String
var isOutGoing:Bool
if sender == GetUserId(){
isOutGoing = true
}else{
isOutGoing = false
}
let mediaItem = self.createPhotoItem(Const.S3_URL + text!, isOutgoing: isOutGoing)
var message:JSQMessage
if text!.hasSuffix(".jpg"){
message = JSQMessage(senderId: sender, displayName: name, media: mediaItem)
}else{
message = JSQMessage(senderId: sender, displayName: name, text: text)
}
self.messages?.append(message)
Looks like you also need to unwrap
snapshot.value
.Something like thism probably: