在这里,我想使用index.row来索引数组,但奇怪的是index.row会在滚动tableView时重新计算。有没有解决方案?或者另一种索引数组的方法?
如下所示:
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
4 #recount from 4
5
6
7
8
9
10
以下是源代码:
func tableviewSetUp() {
let rect = self.view.frame
self.tableView = UITableView(frame: rect)
self.tableView.backgroundColor = UIColor.black
self.tableView.delegate = self
self.tableView.dataSource = self
self.view.addSubview(self.tableView)
self.tableView.register(WallpaperTableViewCell.self, forCellReuseIdentifier: "wallpaperCell")
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "wallpaperCell", for: indexPath) as! WallpaperTableViewCell
print(indexPath.row) //here I print the row number
let wallpaper = self.wallpaperIDList[indexPath.row]//here I using the index.row to index the array
return cell
}
func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 50
}
答案 0 :(得分:0)
表视图将根据需要调用其数据源方法。您不应该假设哪些IndexPath将传递给cv::remap
。当被问到时,只需返回细胞
如果它要求第4行两次,则将第4行两次。
你应该使用数组作为数据模型。这是表示单个节表视图的数据的一种非常好的方法。表视图要求索引4处的行两次这一事实不会改变它。 (或者为分段表视图使用数组数组。)
答案 1 :(得分:-1)
无论是否重述,索引行都不重要。它不会影响tableview显示数据的方式。我运行了我的代码,结果和我期望的一样完美。