-1

私のアプリケーションでは、2つを使用しtableViewsました。最初のテーブルでは、すべてのメソッドdelegatedatasourceメソッドが呼び出されます。2番目のテーブルを追加してメソッドを呼び出すと

[self.tableView reloadData];

cellForRowAtIndexメソッドは呼び出されません。2 番目のテーブルでは、セクションの数は 1 で、行の数は 5 です。プログラムでdelegateanddatasourceを設定しました。tableView

4

2 に答える 2

1

以下のいずれかの原因が考えられます。

  1. リロードoutletしている 2 番目のテーブルに接続していません。
  2. デリゲートを次のように割り当てていませんyourtable.delegate= self;

そのため、欠落しているケースがある場合は修正してください。

于 2013-05-28T13:52:46.177 に答える
0

がクラッシュした場合NSAssert(self.tableView.dataSource, @"No datasource");、tableView の dataSource を正しく設定していません。

アサートのNSAssert括弧内の条件が false (または 0、またはこの場合は nil) に検証されると、アプリがクラッシュします。

どこで tableView を作成する場合でも、必ず dataSource (およびおそらくデリゲートも) を正しく設定してください。

dataSource を正しく設定することに関して、dataSource を viewController の新しく作成されたインスタンスに設定するのを間違えないでください。を使用する可能性が最も高いですself.tableView.dataSource = self;

于 2013-05-29T20:39:09.023 に答える