送る側
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
}