I was able to move from one ViewController to another programmatically without any story board, now come the part where I need to transfer the data, in my rootViewController, I have data in this form:
var restaurants:[Restaurant] = [
          Restaurant(name: "Cafe Deadend",  image: "cafedeadend.jpg", isVisited: false),
          Restaurant(name: "Homei", image: "homei.jpg", isVisited: false) ]
And  of course  Restaurant is a class in my model section ....
Now in my rootcontroller i move to my other controller like this ......
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        
        let detailView: DetailViewController = DetailViewController()
        
       
         detailView.restaurant = restaurants[indexPath.row]
        self.navigationController?.pushViewController(DetailViewController(), animated: false)
        
        
    }
And of course in my DetailViewController I have this
var restaurant = Restaurant()
But here when I try to show an image like this in DetailViewController, expecting the image name to come with the code in RestaurantViewController I get nil....
let imageHeader = UIImageView(frame: CGRect(x: 0, y: 0, width: 400, height: 400))
imageHeader.image = UIImage(named: self.restaurant.image)
I am always getting nil value for the image, where I should be getting the string name of image, can any one please guide where I have gone wrong and why the value is not getting transferred from one controller to other.
 
     
     
    