无法使用editActionsForRow

时间:2017-08-05 16:37:00

标签: ios swift uiviewcontroller

我在创建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.'

1 个答案:

答案 0 :(得分:0)

不知道是什么问题但我删除了DetailsVC .swift和.xib并创建了新的一个以上的代码工作正常......