2009-12-03 4 views
7

テーブルビューがあります。UITableViewから行数を取得するにはどうすればいいですか?

行がない場合は、コンテンツを追加するようユーザーに促す背景イメージが必要です。 1つ以上の行がある場合は、コンテンツを表示するために、別の背景イメージが必要です。

私は、結果的にフェッチされた結果コントローラを使用して、私のテーブルビューにデータを設定しています。

アイデア?

答えて

22

これは一般に、UITableViewが.mファイルに含まれている適切なデリゲートメソッドを使用して適切にViewControllerに委任されるだけで済むため、非常に簡単です。

[tablePropertyName numberOfRowsInSection:SECTION_NUMBER]; 
セクション番号は、最初のセクションのために0である第二のために1

+0

これは正しい解決策であるため、正解にしてください。データソースの数に頼るのではなく、そのプロパティを使用してそのセクションの行数を判断するだけで済みます。そうすれば、データソースに何が起こっても(破損する可能性があります)、正しい場所に行が追加されます。 –

1

NSFetchedResultsControllerのドキュメントをご覧ください。これにはUITableViewDataSourceのメソッドを実装するためのコード例が含まれています(テーブルのセクション数と各セクションの行数を含む)。fetchedObjectsのドキュメントもあります。あなたは取った。

[myFetchedResultsController.fetchedObjects count]; 
5

私はSixten Ottoの答えに同意します。

[myFetchedResultsController.fetchedObjects count]; 

ただし、上の行は、セクションに関係なくオブジェクトの数を返します。ただし、複数のセクションを持つテーブルでこれを実行する場合は、次のように呼び出す必要があります。

[[myFetchedResultsController.sections objectAtIndex:<section>] numberOfObjects]; 

このようなセクションのオブジェクトを取得できます。

[[myFetchedResultsController.sections objectAtIndex:<section>] objects]; 

**セクションを表す番号で置き換える必要があります。

これが役に立ちます。

0

スウィフトでは、あなたが得ることができるのUITableViewの行がカウントなど:

その後、あなたはどこにでも行は次のようにカウント得ることができます

yourTableViewName.numberOfRows(inSection: 0) // returns rows count in section 0 

yourTableViewName.numberOfRows(inSection: Int) 

例により、

関連する問題