由于未捕获的异常'NSInternalInconsistencyException'错误而终止应用程序

时间:2016-06-12 21:07:15

标签: ios xcode swift

class HomeViewController: UIViewController {

    @IBOutlet weak var userNameLabel: UILabel!

    override func viewDidLoad() {
        super.viewDidLoad()

        // Show the current visitor's username
        if let pUserName = PFUser.currentUser()?["username"] as? String {
            self.userNameLabel?.text = "@" + pUserName
        }
    }

    override func viewWillAppear(animated: Bool) {
        if (PFUser.currentUser() == nil) {
            dispatch_async(dispatch_get_main_queue(), { () -> Void in

                let viewController:UIViewController = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("Login")
                self.presentViewController(viewController, animated: true, completion: nil)
            })
        }

    }
    @IBAction func commentAction(sender: AnyObject) {

        self.performSegueWithIdentifier("CommentSegue", sender: self)
    }

    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {

        if segue.identifier == "CommentSegue"{

            let summaryView = segue.destinationViewController as? TableViewController

        }

    }

   }

我得到的错误是:

  

由于未捕获的异常而终止应用   'NSInternalInconsistencyException',原因:' - [UITableViewController   loadView]实例化带有标识符的视图控制器   故事板“Main”中的“UIViewController-tCJ-qt-q4b”,但没有得到   的UITableView'。

任何人都知道如何解决这个问题?

1 个答案:

答案 0 :(得分:4)

您创建的控制器是UITableViewController或其子类。该错误告诉您该控制器的顶级视图不是UITableView

您需要修复故事板中的视图控制器链接,或者将控制器更改为其他类。