2

ここでこの種の簡単な質問をしてすみません。

しかし、私はiOS開発に不慣れです:(また、私は自分の答えを見つけるためにグーグルで試していますが、私はそれを理解していません。

UITableView私の質問は、 TableView全体を作成した後にどのプロトコルメソッドが呼び出されるかということです。

つまり、作成してから、などのメソッドUITableViewを呼び出すときです。UITableViewDataSource

テーブルビューの構成

– tableView:cellForRowAtIndexPath:  required method
– numberOfSectionsInTableView:
– tableView:numberOfRowsInSection:  required method
– sectionIndexTitlesForTableView:
– tableView:sectionForSectionIndexTitle:atIndex:
– tableView:titleForHeaderInSection:
– tableView:titleForFooterInSection:

等...

しかし、UITableViewとの対話なしでTableView全体を作成した後(または上記のメソッドを呼び出す)、UITableView呼び出しのどのメソッドを知りたいですか?

だから、私を助けてください

4

2 に答える 2

1

UITableを作成するには、必要なすべてのメソッドを呼び出す必要があります。すなわち

– tableView:cellForRowAtIndexPath:  
– tableView:numberOfRowsInSection: 

もちろん、これらはデータソース方式です。ただし、テーブルの作成後、テーブルをリロードするまで、このメソッドは呼び出されません。テーブルビューの作成後に呼び出されるメソッドが必要な場合は、次のようなデリゲートメソッドを探す必要があります。

– tableView:willSelectRowAtIndexPath:
– tableView:didSelectRowAtIndexPath:
– tableView:willDeselectRowAtIndexPath:
– tableView:didDeselectRowAtIndexPath:
于 2012-09-25T06:13:36.550 に答える
1

Apple のドキュメントでは順序が指定されていないため、これらが常に同じ順序で呼び出されると安全に想定することはできず、実装でそのような想定を行うことは一般的にお勧めできません。

たとえば、cellForRowAtIndexPath はすべての行に対して呼び出されるわけではありません。表示されている行に対してのみ呼び出され、ユーザーがスクロールすると追加の行に対して呼び出されます。古い行も画面から消えると破棄され、ユーザーが上にスクロールすると再びセルが要求されます。

しかし、一般的には、次の呼び出し順序を想定できます。

– numberOfSectionsInTableView:        (...Optional method...)
– sectionIndexTitlesForTableView:     (...Optional method...)
– tableView:titleForHeaderInSection:  (...Optional method...)
– tableView:titleForFooterInSection:  (...Optional method...)
– tableView:numberOfRowsInSection:    (...Compulsory method...)
– tableView:cellForRowAtIndexPath:    (...Compulsory method...)
于 2012-09-25T05:57:37.473 に答える