Get an Image data from one view controller to the second

Hey Mikaelacaron,

Thanks for replying. Here it is:

This is part of the first view controller:

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        tableView.deselectRow(at: indexPath, animated: true)

       if indexPath.row >= 0 {
           if let vc = storyboard?.instantiateViewController(identifier: "messageVC") as? MessageViewController {
               
               //  *** Networking *** Loop through images urls in Firebase  *** Networking ***
               guard let uid = messenger?.documents[indexPath.row].fields.thumbnail.stringValue else {return}
               let Ref = Storage.storage().reference(forURL: "gs://myprojectnamegoeshere.appspot.com/\(uid)")
               Ref.getData(maxSize: 1 * 1024 * 1024) { data, error in
                       if error != nil {
                           print((error!.localizedDescription))
                       } else {
                           
                               DispatchQueue.main.async {
                                   //cellImg.image =  UIImage(data: data!)
                                   vc.imgPosted = UIImage(contentsOfFile: uid)!

                               }
                
                       }
                   }
               
               
               vc.subjectPosted = (messenger?.documents[indexPath.row].fields.date.stringValue)!
               vc.subjectPosted = (messenger?.documents[indexPath.row].fields.subject.stringValue)!
               vc.bodyPosted = (messenger?.documents[indexPath.row].fields.body.stringValue)!
               
               navigationController?.pushViewController(vc, animated: true)
              
               
           }
           
       }

Here is the second view controller:

import FirebaseAuth
import FirebaseDatabase
import FirebaseFirestore
import FirebaseStorage
import SideMenu
import UIKit

class MessageViewController: UIViewController {
    
    // private var inboxViewController = InboxViewController()
    @IBOutlet weak var thumbnailMsg: UIImageView!
    @IBOutlet weak var dateMsg: UILabel!
    @IBOutlet weak var subjectMsg: UILabel!
    @IBOutlet weak var bodyMsg: UITextView!
    
    // Global variables for recieving data from InboxViewController
    var imgPosted = UIImage()
    var datePosted = ""
    var subjectPosted = ""
    var bodyPosted = ""
    
    
    var messenger: Messenger?
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        // Recieve data from InboxViewController
        thumbnailMsg.image =  imgPosted.imageWithoutBaseline()
        dateMsg.text = datePosted
        subjectMsg.text = subjectPosted
        bodyMsg.text = bodyPosted

    }

    @IBAction func backToInbox(_ sender: Any) {
        let vc = UIStoryboard(name: "Main", bundle: nil)
        let controller = vc.instantiateViewController(identifier: "inbox") as! InboxViewController
        
        navigationController?.pushViewController(controller, animated: true)
        
  
        
    }
    
    
    
}