I am building an iOS application for my year 12 project and it entails users being able to record information about a bill they have received and having the ability to take a photo of the bill and to save it. I have used core data for my users data to be saved to. I have currently been able to get the photo taken by the user to be able to be seen on a seperate screen when the user selects a bill. Where I am having trouble is that the YouTube video I used has only shown me how to display only 1 specific photo in position zero, as shown on line 39. I need help in getting a different image being displayed dependent on what bill the user selects. For example, if a user taps a water bill, on the viewing screen, they will see a water bill. Then if the user taps a gas bill, on the viewing screen, they will see the gas bill. Currently, what is happening is regardless of whether the user selects the gas or water bill, a water bill is displayed. I have tried to explain this the best I can, if there are any other concerns, please let me know.
Thank you for your assistance
import UIKit
import CoreData
class ViewControllerViewing: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
        // Getting keyboard to retract
    }
    func fetchImage() -> [Bravo] {
        var fetchingImage = [Bravo]()
        let fetchRequest = NSFetchRequest<Bravo>(entityName: "Bravo")
        do {
            fetchingImage = try context.fetch(fetchRequest)
        } catch {
            print("Error while fetching the image")
        }
        return fetchingImage
    }
    // Outlets
    
    @IBOutlet weak var imgDisplay: UIImageView!
    var selectedImage: String?
    let context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext
    @IBOutlet weak var lblBill: UILabel!
    // Actions
    @IBAction func btnDisplay(_ sender: Any) {
        let arr = DataBaseHelper.shareInstance.getAllImages()
        // Got to get the numbered one change dependent on what bill is pressed
        self.imgDisplay.image = UIImage(data: arr[0].photo!) // Only position zero photo displays
    }
    
    override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
       self.view.endEditing(true)
   }
// Screen before photo screen
Class CarViewController: UIViewController, UITableViewDelegate, UITableViewDataSource{
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        // Return the number bills
        return bills.count
    }
    // Editing function
    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        // Selected Person
        let bravo = self.bills[indexPath.row]
        
        // Create alert
        let alert = UIAlertController(title: "Edit Bill", message: "Edit Provider", preferredStyle: .alert)
        alert.addTextField()
        // Edit text feild to edit provider
        let txtProvider = alert.textFields![0]
        // Configure button handler
        let saveButton = UIAlertAction(title: "Save", style: .default) {
            (action) in
            // Edit provider property
            bravo.provider = txtProvider.text
            // Save new data
            do {
                try self.context.save()
            }
            catch {
                
            }
            // Refetch data
            self.fetchBravo()
        }
        // Add button
        alert.addAction(saveButton)
        // Show alert
        self.present(alert, animated: true, completion: nil)
    }
    
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        //ensure the cell identifier has been labelled "cell"
      //  let bravob = self.bills[indexPath.row]
        let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)
        // Recieves information from core data
        let display = self.bills[indexPath.row]
        // Displays the provider in the title
        cell.textLabel?.text = display.provider
        // Displays the date in the subtitle
        cell.detailTextLabel?.text = display.date
        //How to add photo into tableview research
        return cell
    }
    func fetchBravo() {
        // Fetch data from core data to display in a tableview
        do {
            let request = Bravo.fetchRequest() as NSFetchRequest<Bravo>
            
            //  Set the filtering and sorting on the request This is the sorting method (For setting car filter, try to adjust here) Look at predecite https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/Predicates/AdditionalChapters/Introduction.html
           let pred = NSPredicate(format: "category CONTAINS '0'")
          request.predicate = pred
            self.bills = try context.fetch(request)
            
            // Sort descripter
            let sort = NSSortDescriptor(key: "provider", ascending: true)
            request.sortDescriptors = [sort]
            DispatchQueue.main.async {
                self.tblCar.reloadData()
            }
        }
        catch {
            
        }
    }
    // Swipe to delete function https://www.youtube.com/watch?v=gWurhFqTsPU&list=RDCMUC2D6eRvCeMtcF5OGHf1-trw&start_radio=1
    func tableView(_ tableView: UITableView, trailingSwipeActionsConfigurationForRowAt indexPath: IndexPath) -> UISwipeActionsConfiguration? {
        // Create swipe action
        let action = UIContextualAction(style: .destructive, title: "Delete") { (action, view, completionHandler) in
            // Which bill to removes
            let BravoRemove = self.bills[indexPath.row]
            // Remove Bill
            self.context.delete(BravoRemove)
            // Save updated delete
            do {
                try self.context.save()
            }
            catch{
                
            }
            // Refetch new data
            self.fetchBravo()
        }
        // Return swipe action
        return UISwipeActionsConfiguration(actions: [action])
    }
    
    
    let context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext
    var bills:[Bravo] = []
    
    
    override func viewDidLoad() {
        super.viewDidLoad()
        tblCar.delegate = self
        tblCar.dataSource = self
        tblCar.reloadData()
        
        // Do any additional setup after loading the view.
    }
    // Outlets
    @IBOutlet weak var txtDate: UITextField!
    @IBOutlet weak var txtBill: UITextField!
    @IBOutlet weak var tblCar: UITableView!
    @IBOutlet weak var segCategory: UISegmentedControl!
    // Actions
    @IBAction func btnSearch(_ sender: Any) {
        // Re-Fetch data for core data
        self.fetchBravo()
        print(bills)
        tblCar.reloadData()
    }
 
    