swift表视图没有填充

时间:2015-07-31 23:04:56

标签: swift uitableview

我在从数组中填充表格视图时遇到了一些麻烦。虽然我的数组不是空的(我尝试在控制台中打印它并且有我想要的数据),但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是一个纪元时间数组

谢谢!

3 个答案:

答案 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类的名称。