我在从数组中填充表格视图时遇到了一些麻烦。虽然我的数组不是空的(我尝试在控制台中打印它并且有我想要的数据),但tableView并没有填充我想要的东西,而是空的。我想知道我是否做错了导致那个
这是我的代码:
func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return numberOfGamesPlayedRecently
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var cell = UITableViewCell()
// display our ranked data
cell.textLabel?.text = "\(tableData[indexPath.row])"
return cell
}
其中numberOfGamesPlayedRecently是一个int而我的tableData是一个纪元时间数组
谢谢!
答案 0 :(得分:5)
我自己遇到同样的问题时偶然发现了你的问题。我能够解决我的tableView没有填充:
1.在类声明中将ViewController设置为UITableViewDataSource并且
2.在ViewDidLoad方法中,将ViewController设置为数据源,如下所示:tableView.dataSource = self
答案 1 :(得分:0)
如果您使用的是故事板,则应该使用类似的内容来获取对当前单元格的引用:
let cell = tableView.dequeueReusableCellWithIdentifier("CellIdentifier", forIndexPath: indexPath)
as! UITableViewCell
您是否设置了委托和数据源?如果您使用的是UITableViewController,则不需要这样做,但除非您这样做。
你应该做一些教程,以确保你知道表视图的工作方式。
这里有一个: http://www.raywenderlich.com/81879/storyboards-tutorial-swift-part-1
答案 2 :(得分:0)
首先,正如Caroline所说,最佳做法是使用故事板并使用let cell = tableView.dequeueReusableCellWithIdentifier("CellIdentifier", forIndexPath: indexPath)
as! UITableViewCell
两者来修改故事板中的单元格,并大大提高大表的内存性能。
其次,我不认为这些表是连接的。你的代码似乎都是正确的,设置单元格的其他属性(如背景颜色)可能是值得的,但看起来它们似乎没有连接。转到故事板,突出显示表格视图(不是整体视图),打开属性检查器,转到"自定义类"选项卡(左起第三个,看起来像一个小报纸),并将类属性设置为自定义UITableView类的名称。