送る側
SolvedViewController.swift
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    let storyboard = UIStoryboard(name: "Detail", bundle: nil)
    //DetailVCインスタンスを作成するのと、キャスト
    //ここのasがないとnextViewのデータ型とDetailVCの型が異なるのでエラーが起きる
    if let nextVC = storyboard.instantiateInitialViewController() as? DetailViewController {
        nextVC.questionTitle = quizList[indexPath.row].question
        present(nextVC, animated: true, completion: nil)
    }
}
受け取る側
DetailViewController.swift
@IBOutlet weak var questionLabel: UILabel!
//SolvedVCから送られてくるセルの情報を入れるための箱を作る
var questionTitle: String?
    
override func viewDidLoad() {
    super.viewDidLoad()
    //SolvedViewControllerと接続したLabel.textに、送られてきた情報を入れる
    questionLabel.text = questionTitle
}
すげー悩んだので備忘録的な感じで書きました。なのでだいぶ短いです。
もっと広く書く必要が出たら追記します。
セルにチェックマーク入れる方法
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        tableView.cellForRow(at: indexPath)?.accessoryType = .checkmark
}
セルの「一つのみ」にチェックマークを入れるようにするにはこれも追記
func tableView(_ tableView: UITableView, didDeselectRowAt indexPath: IndexPath) {
        tableView.cellForRow(at: indexPath)?.accessoryType = .none
}
