Yes i solve this issues,
Just add observer of ChilChanged, this observer will trigger when u changed any value in firebase
messageRef = channelRef!.child("messages")
messageRef.observeEventType(FIRDataEventType.ChildChanged, withBlock: { (snapshot) in
}) { (e) in
print(e.localizedDescription)
}
And when u get message just update your status like this, when u do this the above method will trigger on friends device and u can change your local object with respect to your Firebase DB
messageRef.observeEventType(FIRDataEventType.ChildAdded, withBlock: { (snapshot) in
if messageData["status"] as String! == "Sent"{
let prntRef = FIRDatabase.database().reference().child("friends").child(self.chatId).child("messages").child(refKey)
prntRef.updateChildValues(["status":"Read"])
}
}) { (e) in
print(e.localizedDescription)
MBProgressHUD.hideHUDForView(self.view, animated: true)
}