无法使UiTableView工作

时间:2015-04-08 18:57:14

标签: ios uitableview swift ios8 xcode6

我正在开发一个关于XCode 6和Swift的项目。 我需要向UIViewController添加一个UITableView,然后用内容填充表。

因此,在我的默认UIViewController上,我添加了一个UITableView和一个UITableViewCell(使用故事板)。 接下来,我将UIViewController设置为表的dataSource和delegate。

最后,我将此代码添加到我的视图controller.swift:

import UIKit

class ViewController: UITableViewController, UITableViewDataSource, UITableViewDelegate {

@IBOutlet var table: UITableView!

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}


override func numberOfSectionsInTableView(tableView: UITableView) -> Int {

    return 1


}


override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int{

    return 3
}



override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

     let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as UITableViewCell

    cell.textLabel?.text = "Hello world"

    table.reloadData()

    return cell


}

然而,当我运行该项目时,我遇到了以下日志崩溃

2015-04-08 21:06:52.820 tableViewTest[12380:783945] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[UITableViewController loadView] loaded the "BYZ-38-t0r-view-8bC-Xf-vdC" nib but didn't get a UITableView.'

我尝试过任何事情,我真的不知道如何解决这个问题。

任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:1)

您的桌面视图为IBOutlet,您需要将ViewController作为UIViewController的子类。

class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {}

答案 1 :(得分:0)

在我看来,您在故事板中使用了UIViewController,但在代码中引用了UITableViewController。尝试更改

class ViewController: UITableViewController, UITableViewDataSource, UITableViewDelegate {

class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {

并将table.reloadData()放入viewDidLoad函数。