Я хочу сохранить название экспертизы, которая была отмечена галочкой, и передать имя экспертизы в другую ячейку контроллера uitableview.
Массив экспертизы имеет список экспертизы.
импорт UIKit
класс OriginalController: UITableViewController {
var pickedExpertise: String?
var typeExpertise = ["Marketing", "Sales", "Tech", "Finance"]
override func viewDidLoad() {
super.viewDidLoad()
// view.backgroundColor = UIColor.black.withAlphaComponent(0.7)
view.backgroundColor = .white
tableView.register(UITableViewCell.self, forCellReuseIdentifier: "cell")
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return typeExpertise.count
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)
cell.textLabel?.text = typeExpertise[indexPath.row]
return cell
}
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
if let cell = tableView.cellForRow(at: indexPath) {
cell.accessoryType = .checkmark
}
}
override func tableView(_ tableView: UITableView, didDeselectRowAt indexPath: IndexPath) {
if let cell = tableView.cellForRow(at: indexPath) {
cell.accessoryType = .none
}
}
// Контроллер другого вида
import UIKit
класс NewController: UITableViewController {
var pickedExpertise2: String = "Expertise"
override func viewDidLoad() {
super.viewDidLoad()
navigationItem.title = "Test 1"
navigationController?.navigationBar.prefersLargeTitles = true
tableView.register(UITableViewCell.self, forCellReuseIdentifier: cellID)
}
override func numberOfSections(in tableView: UITableView) -> Int {
return 5
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 1
}
let cellID = "cellID"
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = UITableViewCell(style: .default, reuseIdentifier: nil)
let cell2 = tableView.dequeueReusableCell(withIdentifier: cellID, for: indexPath)
switch indexPath.section {
case 1:
cell.textLabel?.text = "Text 1 "
case 2:
cell.textLabel?.text = "Text 2 "
case 3:
cell2.textLabel?.text = "expertise"
cell2.textLabel?.textAlignment = .center
return cell2
case 4:
cell.textLabel?.text = "Text 4"
default:
cell.textLabel?.text = "Text default "
}
return cell
}
override func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let headerLabel = UILabel()
headerLabel.text = "Name"
switch section {
case 0:
headerLabel.text = "Name 0"
case 1:
headerLabel.text = "Name 1"
case 2:
headerLabel.text = "Name 2"
case 3:
headerLabel.text = "Name 3"
default:
headerLabel.text = "Name 4"
}
return headerLabel
}
override func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
return 40
}
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
if indexPath.section == 3 {
let expertiseC = OriginalController()
navigationController?.pushViewController(expertiseC, animated: true)
}
}
}