[self.tableView registerNib:[UINib nibWithNibName:@"NewTaskCell" bundle:[NSBundle mainBundle]] forCellReuseIdentifier:NewTaskCellId];
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NewTaskCell *cell = [self.tableView dequeueReusableCellWithIdentifier:NewTaskCellId forIndexPath:indexPath];
if (!cell) {
cell = [[NewTaskCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:NewTaskCellId];
}
if (self.taskList.count > indexPath.row) {
FindDisOrderInfoEntity *entity = [self.taskList objectAtIndex:indexPath.row];
[cell setCellContentWith:entity];
}
return cell;
}
Alih keluar if (self.taskList.count > indexPath.row)
Penugasan normal sel
Apabila sel bertambah, muat semula jadual atau muat semula baris baharu
Anda harus terlebih dahulu melihat bilangan sel yang anda miliki. Kedua, konsep sel ialah bekas menggunakan semula bekas. Kuasa membuat keputusan terletak pada sumber data
Anda telah mendaftar menggunakan kaedah registerNib Tidak perlu menentukan sama ada sel kosong dalam kaedah proksi
Tulis ini dalam (UITableViewCell )tableView:(UITableView )tableView cellForRowAtIndexPath:(NSIndexPath *)kaedah proksi indexPath:
Penggunaan semula sel, guna semula ialah keadaan sebelumnya, seperti
UIButton
danUILabel
pada sel JikaUIButton
ialah keadaan yang diserlahkanUILabel
padatext=@"label"
sebelum digunakan semula, kemudian selepas guna semula,UIButton
. masih diserlahkan,UILabel
daripadatext
masihlabel
, dan kaedahcell
akan dipanggil apabilacellForRow
digunakan semula. Oleh itu, nilai dan keadaan biasanya ditetapkan semula dan ditukar dalamcellForRow
. Jadi terdapat peraturan lalai dalam sel, iaitu如果有if 那一定要有else
, jika tidak sel akan menjadi huru-hara.Selepas pendaftaran, anda tidak perlu menilai sama ada sel itu kosong, tetapi tidak ada yang salah dengannya. Mengapa kiraan anda perlu dinilai. Mungkin array anda bukan sumber data ? Tetapi ini mungkin bukan masalah anda Jika "penduaan kandungan" anda bermakna bahawa kawalan pada sel ditambah berulang kali, maka ia sepatutnya [cell setCellContentWith: entity]; mungkin anda Cipta kawalan di sini dan tambahkannya hanya menyegarkan data, iaitu, hanya proses tugasan yang tidak mencipta kawalan
Paparan meja tidak banyak dipaparkan Jika anda tidak membiarkannya digunakan semula, ia tidak akan diulang Selain itu, selepas memanggil kaedah registerNib, memori akan sentiasa menjadi SEL