如何返回一个零自定义 UITableViewCell
Posted
技术标签:
【中文标题】如何返回一个零自定义 UITableViewCell【英文标题】:How to return a nil custom UITableViewCell 【发布时间】:2016-01-23 01:53:51 【问题描述】:在我的cellForRowAtIndexPath
方法中,它从服务器获取数据。如果数据的值之一是false
,我想更改一些全局对象的一些值并跳过实现此单元格,但是当我尝试返回nil
时,应用程序崩溃了。我将 Parse.com PFQueryTableViewController
用于UITableViewController
,因此通过设置方式,它会获取所有数据,然后通过调用cellForRowAtIndexPath
进行处理。我无法查询对所述值正确的对象,因为当它是 false
时,我需要更改程序中的其他内容。
Assertion failure in -[UITableView _configureCellForDisplay:forIndexPath:]
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'UITableView (<UITableView: 0x7e30e400; frame = (0 95; 320 424); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0x7b2a94b0>; layer = <CALayer: 0x7b2a8af0>; contentOffset: 0, 0; contentSize: 320, 1690>) failed to obtain a cell from its dataSource (<_UIFilteredDataSource: 0x7b26d5a0>)'
【问题讨论】:
【参考方案1】:您不能为 cellForRowAtIndexPath 返回 nil,这会使您的应用程序崩溃。
您可以只返回一个没有任何元素的单元格,例如:
return [UITableViewCell new];
好吧,在我看来,您最好重新排列您的数据源数组,只需将“真”取出到一个新数组中即可。使用新数组将解决您的问题。
【讨论】:
以上是关于如何返回一个零自定义 UITableViewCell的主要内容,如果未能解决你的问题,请参考以下文章
UITextField becomeFirstResponder 不显示文本光标