Question

J'ai le code suivant dans mon application. Son une application iPad, avec cinq tables dans une vue unique nommé montable, tueTable etc. Ces tableaux représentent du lundi au vendredi.

Dans ce code, je reçois la date et réglez chaque titre de la table à la date du lundi au vendredi (cette semaine). Ensuite, si j'appuie sur un bouton nextWeek devient TRUE et je Rechargement des données de table. Cela signifie donc que la semaine est augmentée. Vous voyez?

-(IBAction)nextWeekDown{
    nextWeek = TRUE;
    [monTable reloadData];
}

- (NSString*) tableView:(UITableView *)tableView titleForHeaderInSection:(int)section{

    curDate = [NSDate date]; // Get current date
    calendar = [NSCalendar currentCalendar];// Init calendar
    comps = [calendar components:NSYearCalendarUnit|NSMonthCalendarUnit|NSWeekCalendarUnit|NSWeekdayCalendarUnit fromDate:curDate]; // Get necessary date components

    // Week days change from 1 to 7, Sunday is the 1st, Saturday - the last one.
    if (tableView == monTable){
        if(nextWeek == TRUE){
            [comps setHour:168];
            NSDate *date = [calendar dateByAddingComponents:comps toDate:curDate options:0];
        }
        else{
            [comps setWeekday:2];
        }
    }
    if (tableView == tueTable){
        if(nextWeek == TRUE){
            [comps setHour:168];
            NSDate *date = [calendar dateByAddingComponents:comps toDate:curDate options:0];
        }
        else{
            [comps setWeekday:3];
        }
    }
    if (tableView == wedTable){
        if(nextWeek == TRUE){
            [comps setHour:168];
            NSDate *date = [calendar dateByAddingComponents:comps toDate:curDate options:0];
        }
        else{
            [comps setWeekday:4];
        }
    }
    if (tableView == thuTable){
        if(nextWeek == TRUE){
            [comps setHour:168];
            NSDate *date = [calendar dateByAddingComponents:comps toDate:curDate options:0];
        }
        else{
            [comps setWeekday:5];
        }
    }
    if (tableView == friTable){
        if(nextWeek == TRUE){
            [comps setHour:168];
            NSDate *date = [calendar dateByAddingComponents:comps toDate:curDate options:0];
        }
        else{
            [comps setWeekday:6];
        }
    }

    NSDate *tDate = [calendar dateFromComponents:comps];
    NSDateFormatter* formatter = [[[NSDateFormatter alloc] init] autorelease];
    [formatter setDateFormat:@"EEE, MMM d"];

    return [formatter stringFromDate:tDate];
}

Mon problème est que, pour une raison ou filaire, il augmente seulement lundi de sept jours à la semaine prochaine et aucun des autres jours sont modifiés lorsque le bouton est pressé des idées? Merci.

Était-ce utile?

La solution

Dans la méthode nextWeekDown vous rajoutez seulement montable - donc naturellement d'autres tables ne se recharge pas. Vous avez besoin de recharger toutes les autres tables ainsi ...

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top