私のアプリケーションには、テーブルビューから日付値を取得する for ループがあります。Tableview に挿入された場合、同じ日付は 1 回だけと見なされますが、日付が複数回挿入された場合は毎回カウントされるようになりました。
for (FesteGruppo *festeGruppoEntity in arrayController2_.selectedObjects) {
if ([festeGruppoEntity.stato intValue]==0) {
NSDateComponents *festeGruppoEntityComponents = [[NSCalendar currentCalendar] components:(NSEraCalendarUnit | NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit) fromDate:festeGruppoEntity.data];
NSString *nomeFesta = festeGruppoEntity.nome;
NSInteger annoFestaModificato = annoInizio1;
NSInteger meseFesta = [festeGruppoEntityComponents month];
NSInteger giornoFesta = [festeGruppoEntityComponents day];
for (annoInizio1=annoInizio1; annoFestaModificato<=annoFine1; ++annoFestaModificato) {
NSDateComponents *components = [[NSDateComponents alloc] init];
[components setDay:giornoFesta];
[components setMonth:meseFesta];
[components setYear:annoFestaModificato];
NSCalendar *gregorian = [[NSCalendar alloc]
initWithCalendarIdentifier:NSGregorianCalendar];
NSDate *date = [gregorian dateFromComponents:components];
NSString *valorePrimaFesta=[date descriptionWithCalendarFormat:@"%w" timeZone:nil locale:nil];
//Festività compresa ripetuta.
int compInizio = [dataInizio compare:date];
int compFine = [dataFine compare:date];
if (compInizio==-1 && compFine==1) {
int giornoSettimana = [valorePrimaFesta intValue];
NSString *ggSett = [NSString stringWithFormat:@""];
if (giornoSettimana==0) {
--domenica;
ggSett = [NSString stringWithFormat:NSLocalizedString(@"domenica", @"")];
} else if (giornoSettimana==1){
--lunedi;
ggSett = [NSString stringWithFormat:NSLocalizedString(@"lunedi", @"")];
} else if (giornoSettimana==2){
--martedi;
ggSett = [NSString stringWithFormat:NSLocalizedString(@"martedi", @"")];
} else if (giornoSettimana==3){
--mercoledi;
ggSett = [NSString stringWithFormat:NSLocalizedString(@"mercoledi", @"")];
} else if (giornoSettimana==4){
--giovedi;
ggSett = [NSString stringWithFormat:NSLocalizedString(@"giovedi", @"")];
} else if (giornoSettimana==5){
--venerdi;
ggSett = [NSString stringWithFormat:NSLocalizedString(@"venerdi", @"")];
} else if (giornoSettimana==6){
--sabato;
ggSett = [NSString stringWithFormat:NSLocalizedString(@"sabato", @"")];
}
[textView1 insertText:[NSString stringWithFormat:NSLocalizedString(@"festaCompresa", @""), nomeFesta, giornoFesta, meseFesta, annoFestaModificato, ggSett]];
}else if(compInizio==-1 && compFine==0){
int giornoSettimana = [valorePrimaFesta intValue];
NSString *ggSett = [NSString stringWithFormat:@""];
if (giornoSettimana==0) {
--domenica;
ggSett = [NSString stringWithFormat:NSLocalizedString(@"domenica", @"")];
} else if (giornoSettimana==1){
--lunedi;
ggSett = [NSString stringWithFormat:NSLocalizedString(@"lunedi", @"")];
} else if (giornoSettimana==2){
--martedi;
ggSett = [NSString stringWithFormat:NSLocalizedString(@"martedi", @"")];
} else if (giornoSettimana==3){
--mercoledi;
ggSett = [NSString stringWithFormat:NSLocalizedString(@"mercoledi", @"")];
} else if (giornoSettimana==4){
--giovedi;
ggSett = [NSString stringWithFormat:NSLocalizedString(@"giovedi", @"")];
} else if (giornoSettimana==5){
--venerdi;
ggSett = [NSString stringWithFormat:NSLocalizedString(@"venerdi", @"")];
} else if (giornoSettimana==6){
--sabato;
ggSett = [NSString stringWithFormat:NSLocalizedString(@"sabato", @"")];
}
[textView1 insertText:[NSString stringWithFormat:NSLocalizedString(@"festaCompresa", @""), nomeFesta, giornoFesta, meseFesta, annoFestaModificato, ggSett]];
}else if(compInizio==-0 && compFine==0){
int giornoSettimana = [valorePrimaFesta intValue];
NSString *ggSett = [NSString stringWithFormat:@""];
if (giornoSettimana==0) {
--domenica;
ggSett = [NSString stringWithFormat:NSLocalizedString(@"domenica", @"")];
} else if (giornoSettimana==1){
--lunedi;
ggSett = [NSString stringWithFormat:NSLocalizedString(@"lunedi", @"")];
} else if (giornoSettimana==2){
--martedi;
ggSett = [NSString stringWithFormat:NSLocalizedString(@"martedi", @"")];
} else if (giornoSettimana==3){
--mercoledi;
ggSett = [NSString stringWithFormat:NSLocalizedString(@"mercoledi", @"")];
} else if (giornoSettimana==4){
--giovedi;
ggSett = [NSString stringWithFormat:NSLocalizedString(@"giovedi", @"")];
} else if (giornoSettimana==5){
--venerdi;
ggSett = [NSString stringWithFormat:NSLocalizedString(@"venerdi", @"")];
} else if (giornoSettimana==6){
--sabato;
ggSett = [NSString stringWithFormat:NSLocalizedString(@"sabato", @"")];
}
[textView1 insertText:[NSString stringWithFormat:NSLocalizedString(@"festaCompresa", @""), nomeFesta, giornoFesta, meseFesta, annoFestaModificato, ggSett]];
}else if (compInizio==-0 && compFine==1){
int giornoSettimana = [valorePrimaFesta intValue];
NSString *ggSett = [NSString stringWithFormat:@""];
if (giornoSettimana==0) {
--domenica;
ggSett = [NSString stringWithFormat:NSLocalizedString(@"domenica", @"")];
} else if (giornoSettimana==1){
--lunedi;
ggSett = [NSString stringWithFormat:NSLocalizedString(@"lunedi", @"")];
} else if (giornoSettimana==2){
--martedi;
ggSett = [NSString stringWithFormat:NSLocalizedString(@"martedi", @"")];
} else if (giornoSettimana==3){
--mercoledi;
ggSett = [NSString stringWithFormat:NSLocalizedString(@"mercoledi", @"")];
} else if (giornoSettimana==4){
--giovedi;
ggSett = [NSString stringWithFormat:NSLocalizedString(@"giovedi", @"")];
} else if (giornoSettimana==5){
--venerdi;
ggSett = [NSString stringWithFormat:NSLocalizedString(@"venerdi", @"")];
} else if (giornoSettimana==6){
--sabato;
ggSett = [NSString stringWithFormat:NSLocalizedString(@"sabato", @"")];
}
[textView1 insertText:[NSString stringWithFormat:NSLocalizedString(@"festaCompresa", @""), nomeFesta, giornoFesta, meseFesta, annoFestaModificato, ggSett]];
}
else {
int giornoSettimana = [valorePrimaFesta intValue];
NSString *ggSett = [NSString stringWithFormat:@""];
if (giornoSettimana==0) {
ggSett = [NSString stringWithFormat:NSLocalizedString(@"domenica", @"")];
} else if (giornoSettimana==1){
ggSett = [NSString stringWithFormat:NSLocalizedString(@"lunedi", @"")];
} else if (giornoSettimana==2){
ggSett = [NSString stringWithFormat:NSLocalizedString(@"martedi", @"")];
} else if (giornoSettimana==3){
ggSett = [NSString stringWithFormat:NSLocalizedString(@"mercoledi", @"")];
} else if (giornoSettimana==4){
ggSett = [NSString stringWithFormat:NSLocalizedString(@"giovedi", @"")];
} else if (giornoSettimana==5){
ggSett = [NSString stringWithFormat:NSLocalizedString(@"venerdi", @"")];
} else if (giornoSettimana==6){
ggSett = [NSString stringWithFormat:NSLocalizedString(@"sabato", @"")];
}
[textView1 insertText:[NSString stringWithFormat:NSLocalizedString(@"festaNonCompresa", @""), nomeFesta, giornoFesta, meseFesta, annoFestaModificato, ggSett]];
}
}
} else {
NSDateComponents *festeGruppoEntityComponents = [[NSCalendar currentCalendar] components:(NSEraCalendarUnit | NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit) fromDate:festeGruppoEntity.data];
NSString *nomeFesta = festeGruppoEntity.nome;
NSInteger annoFesta = [festeGruppoEntityComponents year];
NSInteger meseFesta = [festeGruppoEntityComponents month];
NSInteger giornoFesta = [festeGruppoEntityComponents day];
//for (annoInizio1=annoInizio1; annoFesta<=annoInizio1; ++annoFesta) {
NSDateComponents *components = [[NSDateComponents alloc] init];
[components setDay:giornoFesta];
[components setMonth:meseFesta];
[components setYear:annoFesta];
NSCalendar *gregorian = [[NSCalendar alloc]
initWithCalendarIdentifier:NSGregorianCalendar];
NSDate *date = [gregorian dateFromComponents:components];
NSString *valorePrimaFesta=[date descriptionWithCalendarFormat:@"%w" timeZone:nil locale:nil];
//Festività compresa ripetuta.
int compInizio = [dataInizio compare:date];
int compFine = [dataFine compare:date];
if (compInizio==-1 && compFine==1) {
int giornoSettimana = [valorePrimaFesta intValue];
NSString *ggSett = [NSString stringWithFormat:@""];
if (giornoSettimana==0) {
--domenica;
ggSett = [NSString stringWithFormat:NSLocalizedString(@"domenica", @"")];
} else if (giornoSettimana==1){
--lunedi;
ggSett = [NSString stringWithFormat:NSLocalizedString(@"lunedi", @"")];
} else if (giornoSettimana==2){
--martedi;
ggSett = [NSString stringWithFormat:NSLocalizedString(@"martedi", @"")];
} else if (giornoSettimana==3){
--mercoledi;
ggSett = [NSString stringWithFormat:NSLocalizedString(@"mercoledi", @"")];
} else if (giornoSettimana==4){
--giovedi;
ggSett = [NSString stringWithFormat:NSLocalizedString(@"giovedi", @"")];
} else if (giornoSettimana==5){
--venerdi;
ggSett = [NSString stringWithFormat:NSLocalizedString(@"venerdi", @"")];
} else if (giornoSettimana==6){
--sabato;
ggSett = [NSString stringWithFormat:NSLocalizedString(@"sabato", @"")];
}
[textView1 insertText:[NSString stringWithFormat:NSLocalizedString(@"festaCompresaNonRipetuta", @""), nomeFesta, giornoFesta, meseFesta, annoFesta, ggSett]];
}else if(compInizio==-1 && compFine==0){
int giornoSettimana = [valorePrimaFesta intValue];
NSString *ggSett = [NSString stringWithFormat:@""];
if (giornoSettimana==0) {
--domenica;
ggSett = [NSString stringWithFormat:NSLocalizedString(@"domenica", @"")];
} else if (giornoSettimana==1){
--lunedi;
ggSett = [NSString stringWithFormat:NSLocalizedString(@"lunedi", @"")];
} else if (giornoSettimana==2){
--martedi;
ggSett = [NSString stringWithFormat:NSLocalizedString(@"martedi", @"")];
} else if (giornoSettimana==3){
--mercoledi;
ggSett = [NSString stringWithFormat:NSLocalizedString(@"mercoledi", @"")];
} else if (giornoSettimana==4){
--giovedi;
ggSett = [NSString stringWithFormat:NSLocalizedString(@"giovedi", @"")];
} else if (giornoSettimana==5){
--venerdi;
ggSett = [NSString stringWithFormat:NSLocalizedString(@"venerdi", @"")];
} else if (giornoSettimana==6){
--sabato;
ggSett = [NSString stringWithFormat:NSLocalizedString(@"sabato", @"")];
}
[textView1 insertText:[NSString stringWithFormat:NSLocalizedString(@"festaCompresaNonRipetuta", @""), nomeFesta, giornoFesta, meseFesta, annoFesta, ggSett]];
}else if(compInizio==-0 && compFine==0){
int giornoSettimana = [valorePrimaFesta intValue];
NSString *ggSett = [NSString stringWithFormat:@""];
if (giornoSettimana==0) {
--domenica;
ggSett = [NSString stringWithFormat:NSLocalizedString(@"domenica", @"")];
} else if (giornoSettimana==1){
--lunedi;
ggSett = [NSString stringWithFormat:NSLocalizedString(@"lunedi", @"")];
} else if (giornoSettimana==2){
--martedi;
ggSett = [NSString stringWithFormat:NSLocalizedString(@"martedi", @"")];
} else if (giornoSettimana==3){
--mercoledi;
ggSett = [NSString stringWithFormat:NSLocalizedString(@"mercoledi", @"")];
} else if (giornoSettimana==4){
--giovedi;
ggSett = [NSString stringWithFormat:NSLocalizedString(@"giovedi", @"")];
} else if (giornoSettimana==5){
--venerdi;
ggSett = [NSString stringWithFormat:NSLocalizedString(@"venerdi", @"")];
} else if (giornoSettimana==6){
--sabato;
ggSett = [NSString stringWithFormat:NSLocalizedString(@"sabato", @"")];
}
[textView1 insertText:[NSString stringWithFormat:NSLocalizedString(@"festaCompresaNonRipetuta", @""), nomeFesta, giornoFesta, meseFesta, annoFesta, ggSett]];
}else if (compInizio==-0 && compFine==1){
int giornoSettimana = [valorePrimaFesta intValue];
NSString *ggSett = [NSString stringWithFormat:@""];
if (giornoSettimana==0) {
--domenica;
ggSett = [NSString stringWithFormat:NSLocalizedString(@"domenica", @"")];
} else if (giornoSettimana==1){
--lunedi;
ggSett = [NSString stringWithFormat:NSLocalizedString(@"lunedi", @"")];
} else if (giornoSettimana==2){
--martedi;
ggSett = [NSString stringWithFormat:NSLocalizedString(@"martedi", @"")];
} else if (giornoSettimana==3){
--mercoledi;
ggSett = [NSString stringWithFormat:NSLocalizedString(@"mercoledi", @"")];
} else if (giornoSettimana==4){
--giovedi;
ggSett = [NSString stringWithFormat:NSLocalizedString(@"giovedi", @"")];
} else if (giornoSettimana==5){
--venerdi;
ggSett = [NSString stringWithFormat:NSLocalizedString(@"venerdi", @"")];
} else if (giornoSettimana==6){
--sabato;
ggSett = [NSString stringWithFormat:NSLocalizedString(@"sabato", @"")];
}
[textView1 insertText:[NSString stringWithFormat:NSLocalizedString(@"festaCompresaNonRipetuta", @""), nomeFesta, giornoFesta, meseFesta, annoFesta, ggSett]];
}
else {
int giornoSettimana = [valorePrimaFesta intValue];
NSString *ggSett = [NSString stringWithFormat:@""];
if (giornoSettimana==0) {
ggSett = [NSString stringWithFormat:NSLocalizedString(@"domenica", @"")];
} else if (giornoSettimana==1){
ggSett = [NSString stringWithFormat:NSLocalizedString(@"lunedi", @"")];
} else if (giornoSettimana==2){
ggSett = [NSString stringWithFormat:NSLocalizedString(@"martedi", @"")];
} else if (giornoSettimana==3){
ggSett = [NSString stringWithFormat:NSLocalizedString(@"mercoledi", @"")];
} else if (giornoSettimana==4){
ggSett = [NSString stringWithFormat:NSLocalizedString(@"giovedi", @"")];
} else if (giornoSettimana==5){
ggSett = [NSString stringWithFormat:NSLocalizedString(@"venerdi", @"")];
} else if (giornoSettimana==6){
ggSett = [NSString stringWithFormat:NSLocalizedString(@"sabato", @"")];
}
[textView1 insertText:[NSString stringWithFormat:NSLocalizedString(@"festaNonCompresaNonRipetuta", @""), nomeFesta, giornoFesta, meseFesta, annoFesta, ggSett]];
}
//}
}
}