2

NSIndexPathセクションの行数を取得したい。こことAppleのドキュメントで検索していると、この値を取得する方法が見つかりません。その上で何か手がかりはありますか?

私の特定の目的は、選択した行がセクションの最後の行であるかどうかを判断するためにそれを使用することです。

4

5 に答える 5

10

すべてがドキュメントにあります

numberOfRowsInSection:

int rows = [table numberOfRowsInSection:indexPath.section];
于 2012-09-04T15:50:21.710 に答える
6

唯一の方法は、テーブルのデータソースを尋ねることです。

NSUInteger rowCount = [tableView.dataSource tableView:tableView numberOfRowsInSection:indexPath.section];
于 2012-09-04T15:47:58.367 に答える
5

私の場合、これを行う方法は次のとおりです。

テーブルセクションはに格納されているオブジェクトのリストを保持しているNSArrayため、セクションの行数は配列内のオブジェクトの量になります。あなたの場合-行が配列からのオブジェクトでない場合-チェックを行うだけです

if ([indexPath row] + 1 == [_objectsArray count]) {
    ...

ただし、テーブル内のアイテムがコレクションに保持されていない場合は、デリゲートメソッドtableViewのオブジェクトに対して適切なメソッドを呼び出すだけで、セクション内の行数を簡単に取得できます。didSelectRow..

NSInteger numberOfRows = [tableView numberOfRowsInSection:[indexPath section]];
于 2012-09-04T15:48:36.697 に答える
2

tableView:numberOfRowsInSection:のメソッドを呼び出しUITableViewDataSourceて、セクション番号を渡すことができます。ただし、モデルの内容に基づいてこの数値を生成するのは独自のコードであるためtableView:numberOfRowsInSection:、データソースの実装を調べて、別のパスで同じ答えが得られるかどうかを確認するのが理にかなっている場合があります。

于 2012-09-04T15:48:06.017 に答える
1

UITableViewについて話している場合は、それがdataSourceであるかどうかを尋ねることができます。これは、おそらく自分自身である可能性があります:-)

[self.tableView.dataSource tableView: self.tableView numberOfRowsInSection: indexPath.section];

// or, if you are the dataSource...
[self tableView: self.tableView numberOfRowsInSection: indexPath.section];
于 2012-09-04T15:50:03.060 に答える