在controller中delegate了UITableViewDataSource
以后,是必须实现这个方法以展示UITableView的。它的方法原型如下
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
能否结合例子具体解释下NSIndexPath
的含义,另外与它想对应的还有一个必须实现的方法
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
这个section表示的又是什么呢?
Mula-mula terangkan susun atur TableView Kandungan TableView adalah dua peringkat, Bahagian dan Baris dalam Bahagian Paparan yang sepadan dengan setiap Baris menjadi TableViewCell. Ambil settings.app sebagai contoh, seperti yang ditunjukkan di bawah:
![](http://img.php.cn/upload/image/000/000/001/1c96d2530b4f63fb53bfb0f87ad6f885-0.png)
Terdapat dua Bahagian
dalam gambar Terdapat 6 Baris dalam Bahagian 0 -- Mod Pesawat~Operator
Anda boleh melihat 3 Baris dalam Bahagian 1 -- Bunyi ~ Desktop
Mari kita bincangkan tentang dua kaedah dalam soalan.
Kaedah ini mengembalikan sel tertentu, yang boleh dipaparkan dalam pelbagai gaya tersuai atau dipaparkan dalam beberapa gaya lalai.
IndexPath menandakan lokasi sel yang anda ingin buat. Terdapat dua atribut dalam objek indexPath, bahagian dan baris Seperti namanya, anda boleh mencari sel tertentu.
Nota: Kaedah ini akan dipanggil apabila sel muncul pada skrin, dan ia akan dipanggil sekali jika ia tidak muncul sekali. Kerana objek sel dikitar semula apabila kawasan yang kelihatan pada skrin hilang, dan digunakan semula untuk sel lain yang muncul dalam kawasan yang kelihatan. Oleh itu, apabila memaparkan sel dalam kaedah ini, sebaiknya gunakan gelung for atau sesuatu untuk membersihkan sel.
Kaedah ini dipanggil apabila TableView dijana (atau apabila reloadData dipanggil pada objek tableView) dan mengembalikan bilangan baris (sel) dalam bahagian tertentu.
Sebagai contoh, dalam antara muka settings.app, ia sepatutnya
1.
NSIndexPath
terutamanya termasuk(NSUInteger)section
dan(NSUInteger)row
Setiaprow
mesti dimiliki olehsection
, jika tidakrow
ini menunjukkan setiap satu- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
Berapa banyaksection
ada ke?row
2. Buka, tajuk A, B, C... dalam adalah milik
Contacts
dansection header
membentukheader + rows + footer
yang lengkap Anda boleh menyesuaikan pengepala dan pengaki melaluisection
Serupa dengan- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section;