我在创建iOS应用时遇到了问题。这很奇怪,因为我觉得这很容易。
我有一个TableView和editActionsForRowAt,它返回一个动作。单击它应该导航到我的第二个从.xib文件加载的ViewController。我知道单击按钮时会执行此功能,但VC无法打开。
MainViewController.swift
func tableView(_ tableView: UITableView, editActionsForRowAt indexPath: IndexPath) -> [UITableViewRowAction]? {
let action = UITableViewRowAction(style: .normal, title: "more") { (uiTableViewRowAction, indexPath) in
let detailsVC = DetailsViewController(nibName: "DetailsViewController", bundle: nil)
self.navigationController?.pushViewController(detailsVC, animated: true)
}
return [action]
}
DetailsViewController.swift(现在它是空的)
import UIKit
class DetailsViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
}
我过去曾多次调用过这个pushViewController方法,所以它让我想知道为什么它没有显示出来。有什么问题?
编辑:
present
也不起作用。
present(detailsVC, animated: true, completion: nil)
返回
TableView[2646:125041] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[UIViewController _loadViewFromNibNamed:bundle:] loaded the "DetailsViewController" nib but the view outlet was not set.'
答案 0 :(得分:0)
不知道是什么问题但我删除了DetailsVC .swift和.xib并创建了新的一个以上的代码工作正常......