Не могу передать данные из TableViewController в другой ViewController

Ребята, помогите решить проблему.

Пытаюсь передать данные, которые распарсил, из выбранной ячейки в другой VC. Что делаю не так?

Мой TVC:
class TableViewController: UITableViewController

private var urlOfPersons = "https://rickandmortyapi.com/api/character"
private var result: [Result]?

override func viewDidLoad() {
    super.viewDidLoad()
    
    fetchData()
}

// MARK: - Table view data source

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



override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    
    let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! TableViewCell

    if let count = result?.count, count > 1 {
        let lastElement = count - 1
        if indexPath.row == lastElement {
            getData()
        }
    }
    let dataIndex = (result?[indexPath.row])!
    cell.getImageData(from: dataIndex)
    cell.nameLabel.text = (self.result?[indexPath.row].name ?? "o")
    return cell
}



override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    performSegue(withIdentifier: "showImage", sender: indexPath)
    }
    
 override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    guard segue.identifier == "showImage" else { return }
    let indexPath = tableView.indexPathForSelectedRow
    let controller = segue.destination as! ShowViewController
    controller.showResult = result ?? []
    let dataIndex = (result?[indexPath!.row])

    controller.pictureImage = dataIndex?.image
    controller.pictureName = dataIndex?.name
}
// MARK: - UICollectionViewDelegate
func fetchData() {
    result = []
    getData()
}


func getData() {
    guard let url = URL(string: urlOfPersons) else { return }
    
    URLSession.shared.dataTask(with: url) { (data, response, error) in
        guard let data = data else { return }
        
        do {
            let decoder = JSONDecoder()
            let decode = try decoder.decode(Characters.self, from: data)
            self.result?.append(contentsOf: decode.results)
            
            DispatchQueue.main.async {
                self.tableView.reloadData()
            }
        } catch let error as NSError {
            print(error.localizedDescription)
        }
    }.resume()
}

VC, в который хочу передать данные: class ShowViewController: UIViewController

@IBOutlet var pictureLabel: UIImageView!
@IBOutlet var nameLabel: UILabel!

var pictureName: String?
var pictureImage: String?


override func viewDidLoad() {
    super.viewDidLoad()
    
    nameLabel.text = pictureName
    pictureLabel.image = UIImage(named: pictureImage ?? " ")
    
}

Ответы (0 шт):