如何 return 一个零自定义 UITableViewCell

How to return a nil custom UITableViewCell

在我的 cellForRowAtIndexPath 方法中,它从服务器获取数据。如果数据的值之一是 false 我想更改一些全局对象的一些值并跳过实现此单元格,但是当我尝试返回 nil 时应用程序崩溃。我正在为 UITableViewController 使用 Parse.com PFQueryTableViewController,因此按照设置的方式,它会获取所有数据,然后通过调用 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>)'

您不能为 cellForRowAtIndexPath return nil,这会使您的应用程序崩溃。 您可以 return 一个没有任何元素的单元格,例如: return [UITableViewCell new];

好吧,我认为你最好重新排列你的数据源数组,只需将 'true' 挑出来放到一个新数组中。使用新数组将解决您的问题。