在我的应用程序中,我有一个从 tableview 获取日期值的 for 循环。我希望如果在 Tableview 中插入相同的日期只考虑一次,而现在如果插入的日期不止一次,则每次都计算。
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]];
}
//}
}
}