2016-11-11 73 views
0

我正在做一个教程,现在正在构建一个单元格表格,我有一个问题。在第二个函数tableView下面...什么是indexPath?UITableView - 什么是indexPath?

更重要的是,每次函数被调用时,程序如何知道更新通过indexPath传递的值?

var rowNumber = 0 

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
    return 50 
} 

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
    let rowCell = UITableViewCell(style: UITableViewCellStyle.default, reuseIdentifier: "Cell") 
    rowCell.textLabel?.text = String(indexPath.row + 1) 
    return rowCell 
} 
+0

您是否阅读过“UITableView”的参考文档?它有一个关于什么'IndexPath'('NSIndexPath')的部分。另请参阅“IndexPath”的文档。 – rmaddy

+0

是的,我已阅读文档,否则我不会问。不过谢谢。 – user7024499

回答

4

TableView分为多个部分。每个部分包含一些行数。 IndexPath包含关于函数在哪个部分中询问哪一行的信息。根据这些数字,您将配置单元格以显示给定行的数据。当需要显示一行时,应用程序正在执行此功能。例如,向下滚动tableview并在屏幕上显示下一个单元格。为了配置这个单元格,例如,正确的文本,它要求你在这个位置(部分和行)上的行应该显示什么。

此外,为了提高性能,您应该使用tableView.dequeueReusableCellWithIdentifier函数而不是Cell的init来创建单元格。