Passing data from a tableview to a detail view via segue

I am trying to pass data from a tableViewController to a detail view via a segue upon selecting a cell. The segue works and prints the data I am requesting to the terminal, but no matter what var type I pick for the destination controller I get a "Cannot assign a value of type ..." error. Here is my tableViewController code:


import UIKit

import CoreData

class RoomTableViewController: UITableViewController {

var roomArray = [Rooms]()

var sendSelectedData = NSString()

let appDelegateObj : AppDelegate = UIApplication.shared.delegate as! AppDelegate

var managedObjectContext: NSManagedObjectContext? {

return (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext

}

override func viewDidLoad() {

super.viewDidLoad()

}

override func viewWillAppear(_ animated: Bool) {

super.viewWillAppear(true)

retrieveRooms()

}

override func didReceiveMemoryWarning() {

super.didReceiveMemoryWarning()

/

}

/

override func numberOfSections(in tableView: UITableView) -> Int {

return 1

}

override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {

return roomArray.count

}

let cellId = "roomCell"

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

let cell = tableView.dequeueReusableCell(withIdentifier: cellId, for: indexPath) as! RoomTableViewCell

/

cell.configureCell(room:roomArray[indexPath.row])

return cell

}

override func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) {

if editingStyle == .delete {

let room = roomArray[indexPath.row]

managedObjectContext?.delete(room)

(UIApplication.shared.delegate as! AppDelegate).saveContext()

do {

roomArray = try managedObjectContext!.fetch(Rooms.fetchRequest())

} catch {

print("Fetching Failed")

}

}

tableView.reloadData()

}

func retrieveRooms(){

fetchRoomsFromCoreData { (rooms) in

if let rooms = rooms{

self.roomArray = rooms

self.tableView.reloadData()

}

}

}

func fetchRoomsFromCoreData(completion: ([Rooms]?)->Void){

var results = [Rooms]()

let request: NSFetchRequest<Rooms> = Rooms.fetchRequest()

do {

results = try managedObjectContext!.fetch(request)

completion(results)

}catch {

print("Could not fetch Rooms from CoreData:\(error.localizedDescription)")

}

}

/

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {

if segue.identifier == "editSegue"{

let indexPath = self.tableView!.indexPath(for: sender as! UITableViewCell)!

let destVC = segue.destination as! RoomDetailTableViewController

print(self.roomArray[indexPath.row])

destVC.myData = self.roomArray[indexPath.row]

}

}

}

I am at odds with where I am going wrong :-{

Thanks in advance for any advice !

Passing data from a tableview to a detail view via segue
 
 
Q