Ios 表视图不工作

Ios 表视图不工作,ios,uitableview,Ios,Uitableview,tableView的IBoutlet出现一个错误,它说“不能用存储属性“tableView”重写”。我不太清楚这意味着什么,任何类型的帮助都将不胜感激。 导入UIKit class UsersViewController: UITableViewController { @IBOutlet var tableView: UITableView! var users = ["Marc", "Mark" , "Louise", "Ahinga", "Amossi", "Kalen

tableView的IBoutlet出现一个错误,它说“不能用存储属性“tableView”重写”。我不太清楚这意味着什么,任何类型的帮助都将不胜感激。 导入UIKit

class UsersViewController: UITableViewController {

    @IBOutlet var tableView: UITableView!

    var users = ["Marc", "Mark" , "Louise", "Ahinga", "Amossi", "Kalenga"]

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

    override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
        // #warning Incomplete implementation, return the number of sections
        return 1
    }

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

    override func tableView(tableView:UITableView, cellForRowAtIndexPath indexPath:NSIndexPath) -> UITableViewCell {
       let cell = self.tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! userCell
    }

    override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {

    }
}

您必须在
viewDidLoad()
中设置为
delegate
dataSource
,如下所示

override func viewDidLoad() {
    super.viewDidLoad()

    self.tableView.delegate = self
    self.tableView.dataSource = self
}

UITableViewController
带有一个内置的
UITableView
,它被恰当地命名为
tableView
。在粘贴的代码中,您向其添加了一个额外的
UITableView
,并赋予它相同的名称。这就是编译器所抱怨的

理论上,当您使用故事板中的普通
UITableViewController
时,不应将表链接到
IBOutlet
。已经搞定了


如果您正在构建更复杂的东西,需要在storyboard类提供的基础上增加一个额外的
UITableViewController
,那么您应该以不同的方式命名它。

不应该如此。默认情况下,
UITableViewController
符合
UITableViewDelegate
UITableViewDataSource
协议,并且其
tableView
设置为它。