过滤后未调用cellForRowAtIndexPath

时间:2016-01-22 09:38:50

标签: ios swift

所以我有快速代码创建一个配置文件列表,允许个人过滤和排序它们以及点击它们。就像一本地址簿。它以主/明细面格式设置,主人是人员列表,细节是个人。我还有一个来自master的show segue,它打开了一个单独的过滤器和排序页面。

我的问题是:从过滤器页面返回时,调用numberOfRowsInSection但不调用cellForRowAtIndexPath。我已将断点放在cellForRowAtIndexPath上,当我打开应用程序时它们会点击,但是当我从过滤器屏幕返回时它们没有。因此,过滤器缩小到适当的行数,甚至链接也是正确的(如果我点击第一个过滤行,详细视图具有正确的配置文件),但因为它不是"刷新"当我从过滤器屏幕返回时,主单元格列表中包含cellForRowAtIndexPath,主单元格中的单元格无法正确显示。

例如,我有列表: 亚当 安德鲁 亚历

我单击过滤器按钮,进入新屏幕,为"安德鲁"做一个基于文本的过滤器。并返回主列表。表明 亚当

过滤到正确数量的人,但仍然显示最后一个列表中的第一个元素而不是刷新。

关于我做错的任何提示?我可以显示你想要看到的关于numberOfRowsInSection或cellForRowAtIndexPath的实际代码的任何内容,但不知道如果问题是后者func没有被调用的话会有什么帮助。我可以强制它以某种方式开火,或者是一个黑客,这里有结构性问题吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

过滤表后,您必须调用: tableView.reloadData() 此方法触发单元格的cellForRowAtIndexPath