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