2

私のcellForRowAtIndexPath方法では、サーバーからデータを取得しています。データの値の 1 つがfalseいくつかのグローバル オブジェクトのいくつかの値を変更し、このセルの実装をスキップしたいのですが、返そうとnilするとアプリがクラッシュします。私はPFQueryTableViewControllerのために Parse.com を使用UITableViewControllerしているので、すべてのデータを取得してから、cellForRowAtIndexPath. falseの場合、プログラム内の他のものを変更する必要があるため、said-value に対して true であるオブジェクトを照会することはできません。

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>)'
4

1 に答える 1

0

アプリをクラッシュさせる cellForRowAtIndexPath に nil を返すことはできません。次のような要素なしでセルを返すことができます。 return [UITableViewCell new];

私の意見では、データソース配列を再配置したほうがよいでしょう。「真」を選択して新しい配列に入れるだけです。新しいアレイを使用すると、状況が修正されます。

于 2016-01-23T02:02:58.247 に答える