2013-03-27 3 views
0

j'ai écrit un code qui donne à chaque cellule de mon TableView un numéro à partir de 8 et quand il atteindre 12 le compteur que je l'ai appelé dans les heures d'applicationdonnant un numéro pour chaque cellule UITableView

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ 

static NSString *CellIdentifier = @"Cell"; 
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath]; 

while (hour < 15) 
{ 
    if (hour == 12) { 
     hour=1; 
    } else { 
     NSString *str = [NSString stringWithFormat:@"%d",hour]; 
     cell.textLabel.text = [courses objectAtIndex:indexPath.row]; 
     cell.detailTextLabel.text = str; 
     NSLog(@"%@",str); 
     hour++; 
     return cell; 

    } 
} 

return cell;} 

Cela a fonctionné bien quand je cours l'application avec le simulateur mais quand je fais défiler cela continue à changer le nombre dans la première et deuxième cellule et je veux que les nombres ne changent pas même si je fais défiler la table.

comment je peux faire ça? Merci d'avance.

+0

oh rupture, tant pis ce que je dit xD – Cashew

+0

c'est ce que je reçois pour ne pas lire le bon code – Cashew

+0

ajouter ce code après UITableViewCell * cellule = [tableView dequeueReusableCellWithIdentifier: CellIdentifier forIndexPath: indexPath]; /// if (cellule == nil) { cellule = [[[UITlaceViewCell alloc] initWithFrame: CGRectZero \t \t reuseIdentifier: MonIdentifier] autorelease]; } – NANNAV

Répondre

4

Il semble que hour soit défini en dehors de la méthode et ne soit pas lié à la cellule indexPath. Si vous voulez vous assurer que la chaîne affichée reste constante pour une cellule, vous devriez probablement pouvoir la calculer de manière déterministe à partir du indexPath seul, donc même si la table charge les cellules dans le désordre, elles conserveront leur texte correct.

+0

comment je peux faire ça? Je suis désolé mais je suis un débutant ici – faisal60

+0

Cela dépend vraiment de ce qui définit comment vos cellules doivent afficher les chiffres? La cellule n ° 1 devrait-elle afficher «1», «2», «2» et ainsi de suite? Si c'est le cas, définissez l'heure à 'indexpath.row'. Quel est le motif que vous voulez afficher? –

Questions connexes