Ios 为什么模拟器只有12行?

Ios 为什么模拟器只有12行?,ios,swift,uitableview,Ios,Swift,Uitableview,我的数据有50个条目。模拟器在12点停止。我不明白 func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { funcSectCount += 1 let data = AppData.orgNames print("data.count=", data.count, " func Section count=", funcSectCount)

我的数据有50个条目。模拟器在12点停止。我不明白

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    funcSectCount += 1
    let data = AppData.orgNames
    print("data.count=", data.count, "  func Section count=", funcSectCount)
    return data.count
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    funcRowCount += 1
    let data = AppData.orgNames
    let cell = myTable.dequeueReusableCell(withIdentifier: "myCell", for: 
    indexPath)
    cell.textLabel?.text = data[indexPath.row]
    print("indexPath.row=", indexPath.row, "  func Row count=", funcRowCount)
    return cell
}
这将作为每个功能的最终打印:

data.count=50func Section count=3(奇怪,但不重要)
行数=11 func行数=12

tableView(tableView:UITableView,cellForRowAt indexath:indexPath)
在每次需要新单元格时由表视图调用

如果一次只有12个单元格可见,那么表视图最初只需要12个单元格,因此只需要12个单元格。在它需要更多请求之前,您必须滚动。在需要单元格之前,它不会请求单元格。

tableView(\uTableView:UITableView,cellForRowAt indexPath:indexPath)
在每次需要新单元格时由表视图调用


如果一次只有12个单元格可见,那么表视图最初只需要12个单元格,因此只需要12个单元格。在它需要更多请求之前,您必须滚动。在需要单元格之前,它不会请求单元格。

有趣的是,即使表格显示正确,打印输出也只会达到12个,无论滚动到多少单元格,都会出现这种情况。这就是你发现的吗?这是因为视图中有12行,并且单元格被重用,因此您没有创建更多的单元格,而只是重用了已有的12行。

有趣的是,即使表格显示正确,打印输出也只会达到12行,而无论滚动到多少单元格,都会出现这种情况。这就是你发现的吗?这是因为一个视图中有12行,并且单元格被重用,因此,您没有创建更多的单元格,只是在重复使用已有的12个单元格。

永远不要依赖于调用任何数据源和委托方法的次数和顺序。永远不要依赖于调用任何数据源和委托方法的次数和顺序。谢谢您的评论。这是一个很好的资源,我不清楚。通过发布我的微弱努力来确定单元重用是否以某种方式失败,我无意中让重点放错了位置。真正的问题是:在模拟器中,当我试图滚动超过初始值12时,不会这样做。根据我使用的设备,有一个屏幕,甚至两个屏幕和一个滚动条,但单元格在第12个屏幕停止。除了原始单元格外,没有滚动会产生新的单元格。因此,12将离开屏幕,然后表格视图无法进一步填充?屏幕截图显示了显示屏幕的最后几行。没有进一步的滚动。任何这样做的尝试都只会导致反弹。谢谢您的评论。这是一个很好的资源,我不清楚。通过发布我的微弱努力来确定单元重用是否以某种方式失败,我无意中让重点放错了位置。真正的问题是:在模拟器中,当我试图滚动超过初始值12时,不会这样做。根据我使用的设备,有一个屏幕,甚至两个屏幕和一个滚动条,但单元格在第12个屏幕停止。除了原始单元格外,没有滚动会产生新的单元格。因此,12将离开屏幕,然后表格视图无法进一步填充?屏幕截图显示了显示屏幕的最后几行。没有进一步的滚动。任何这样做的尝试都只会导致反弹,而不是完全的反弹。屏幕和打印输出都只有12行(这可能会随着使用的模拟器版本而改变。我相信我曾经看到过13行。)你的意思是你的表格只显示12-13行,不能再滚动了吗?不完全是这样。屏幕和打印输出都只有12行(这可能会随着使用的模拟器版本的变化而变化。我相信我曾经看到过13行。)你的意思是你只能显示12-13行表格,不能再滚动了吗?