Maison > Questions et réponses > le corps du texte
[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;
}
迷茫2017-04-18 09:59:24
Supprimer if (self.taskList.count > indexPath.row)
Affectation normale de la cellule
Lorsque la cellule augmente, actualisez le tableau ou actualisez la nouvelle ligne
巴扎黑2017-04-18 09:59:24
Vous devez d'abord regarder le nombre de cellules dont vous disposez. Deuxièmement, le concept de cellules est celui de conteneurs. Le pouvoir décisionnel réside dans la source de données
.阿神2017-04-18 09:59:24
Vous vous êtes déjà inscrit en utilisant la méthode registerNib. Il n'est pas nécessaire de déterminer si la cellule est vide dans la méthode proxy
高洛峰2017-04-18 09:59:24
Écrivez ceci dans la méthode proxy (UITableViewCell )tableView:(UITableView )tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath :
NewTaskCell *cell = [self.tableView dequeueReusableCellWithIdentifier:NewTaskCellId forIndexPath:indexPath];
FindDisOrderInfoEntity *entity = [self.taskList objectAtIndex:indexPath.row]; [cell setCellContentWith:entity];
return cell;
PHP中文网2017-04-18 09:59:24
Réutilisation des cellules, la réutilisation est l'état précédent, tel que UIButton
et UILabel
sur la cellule Si UIButton
est l'état en surbrillance UILabel
sur text=@"label"
avant la réutilisation, puis après la réutilisation, UIButton
. est toujours en surbrillance, le UILabel
de text
est toujours label
et la méthode cell
sera appelée lorsque cellForRow
sera réutilisée. Par conséquent, les valeurs et les états sont généralement réaffectés et modifiés dans cellForRow
. Il y a donc une règle par défaut dans la cellule, qui est 如果有if 那一定要有else
, sinon la cellule deviendra chaotique.
PHP中文网2017-04-18 09:59:24
Vous n'avez pas à juger si la cellule est vide après l'enregistrement, mais il n'y a rien de mal à cela. Pourquoi votre décompte doit-il être jugé ? Je ne comprends pas. Peut-être que votre tableau n'est pas une source de données ? Mais ce n'est probablement pas votre problème. Si votre "duplication de contenu" signifie que les contrôles sur la cellule sont ajoutés à plusieurs reprises, alors cela devrait être [cell setCellContentWith:entity]; il se peut que vous créez le contrôle ici et que vous l'ajoutiez. La réutilisation actualise uniquement les données, c'est-à-dire que seul le processus d'affectation ne crée pas le contrôle
迷茫2017-04-18 09:59:24
La tableview n'affiche pas grand chose. Si vous ne la laissez pas être réutilisée, elle ne sera pas répétée. De plus, après avoir appelé la méthode registerNib, la mémoire sera toujours pure CELL
.