제 응용 프로그램에서는 테이블 뷰에서 날짜 값을 취하는 for 루프가 있습니다. Tableview에서 삽입 된 경우 동일한 날짜가 한 번만 고려되는 반면, 현재 날짜가 두 번 이상 삽입되면 매번 계산됩니다.for 루프는 한 번만 항목을 계산합니다.
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]];
}
//}
}
}
날짜를 저장하는 데 사용되는 데이터 형식은 무엇입니까? – trojanfoe
데이터 형식은 NSDate입니다. – Andrea