Это переход с навигацией Push.Однако у нас проблемы, потому что в месте назначения перехода ничего не отображается.
Подтверждение неосторожной ошибки, подтверждение обозначения жизненного цикла и т. Д., Я вообще не вылечу его
”Место назначения перехода”
import Foundation
import UIKit
class MeasureViewController: UIViewController {
private enum MeasureIndexPathItem: Int {
case measureCannotCell = 0
case measureNotCell = 1
case measureTextCell = 2
}
private lazy var measureTableView: UITableView = {
let tableView = UITableView()
tableView.delegate = self
tableView.dataSource = self
tableView.register(MeasureCannotTableViewCell.self, forCellReuseIdentifier: String(describing: MeasureCannotTableViewCell.self))
tableView.register(MeasureNotTableViewCell.self, forCellReuseIdentifier: String(describing: MeasureNotTableViewCell.self))
tableView.translatesAutoresizingMaskIntoConstraints = false
return tableView
}()
override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = .white
setupUI()
}
}
extension MeasureViewController {
private func setupUI() {
view.addSubview(measureTableView)
measureTableView.topAnchor.constraint(equalTo: view.topAnchor, constant: 44).isActive = true
measureTableView.bottomAnchor.constraint(lessThanOrEqualTo: view.bottomAnchor, constant: 0).isActive = true
measureTableView.widthAnchor.constraint(equalToConstant: view.bounds.size.width).isActive = true
}
}
extension MeasureViewController: UITableViewDataSource {
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 3
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
guard let indexPathItem = MeasureIndexPathItem(rawValue: indexPath.item) else { return UITableViewCell() }
switch indexPathItem {
case .measureCannotCell:
guard let cell = tableView.dequeueReusableCell(withIdentifier: String(describing: MeasureCannotTableViewCell.self), for: indexPath) as? MeasureCannotTableViewCell else { return UITableViewCell() }
cell.configureInit(labelText: "測定不能")
return cell
case .measureNotCell:
guard let cell = tableView.dequeueReusableCell(withIdentifier: String(describing: MeasureNotTableViewCell.self), for: indexPath) as? MeasureNotTableViewCell else { return UITableViewCell() }
cell.configureInit(labelText: "測定不能")
return cell
case .measureTextCell:
guard let cell = tableView.dequeueReusableCell(withIdentifier: String(describing: MeasureTextCell.self), for: indexPath) as? MeasureTextCell else { return UITableViewCell() }
return cell
}
}
}
” Источник перехода ”
let viewController = MeasureViewController()
viewController.navigationItem.title = menuTitle[indexPath.section][indexPath.item]
navigationController?.pushViewController(viewController, animated: true)
Я хочу надежно отобразить компонент на виде.