gpt4 book ai didi

iphone - ios5 UISearchBar 过滤 TableView 导致空单元格断言错误

转载 作者:行者123 更新时间:2023-12-03 19:27:13 27 4
gpt4 key购买 nike

我正在使用 ios5 Storyboard,并有一个带有 uisearchbar 的 tablview,我正在使用它来过滤结果。我遵循以下博客文章中的提示,我也提出了这个问题 http://code-ninja.org/blog/2012/01/08/ios-quick-tip-filtering-a-uitableview-with-a-search-bar/ :

我看到的问题是,当从过滤数组中取回项目时,自定义 UITableViewCell 返回为 null。在 iOS5 中,我知道您应该只需要通过 dequieReusableCell 获取单元格,而不需要显式初始化单元格。但是,当搜索栏中的搜索成功匹配时,单元格将返回为空。我不确定如何使用自定义样式手动初始化单元格。有任何想法吗?这是我的 cellForRowAtIndexPath 方法的片段。

ItemCell *cell = (ItemCell *)[tableViewdequeueReusableCellWithIdentifier:CellIdentifier];self.searchBar.tableView。如果(单元格==零){NSLog(@“为什么当我从搜索栏获得成功匹配时会发生这种情况?”);}

这会导致以下错误:-[UISearchResultsTableView _createPreparedCellForGlobalRow:withIndexPath

中断言失败

* 由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“UITableView 数据源必须从 tableView:cellForRowAtIndexPath: 返回一个单元格”

最佳答案

您在错误的表上调用 dequeueReusableCellWithIdentifier:

您的原型(prototype)在主表中定义,需要从那里出列。执行搜索时,系统会要求您填写特殊的搜索表。该表不包含您的单元格原型(prototype),并且它不会在原始表中搜索原型(prototype)!

您的表格仍然可以作为 self.tableView 使用。您可以从那里出列,甚至对于搜索结果表也是如此。

而不是这个:

ItemCell *cell = (ItemCell *)[tableView
dequeueReusableCellWithIdentifier:CellIdentifier];

使用这个:

ItemCell *cell = (ItemCell *)[self.tableView
dequeueReusableCellWithIdentifier:CellIdentifier];

关于iphone - ios5 UISearchBar 过滤 TableView 导致空单元格断言错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9042432/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com