내 앱은 오늘 날짜가 배열의 시작 날짜와 종료 날짜 사이에있는 객체인지 확인한 다음 해당 객체를 배열에서 제거합니다. 코드는 배열에서 객체를 성공적으로 제거하지만 모든 객체 (모든 객체를 제거해야하는 객체) 만 제거합니다. 내가 잘못 뭐하는 거지 눈의 두 번째 세트 내 코드 가서 볼 수 있다면NSDate for 및 if 문을 사용하여 비교
for (int i = 0; i < [AdDataArray count]; i++) {
NSDate *dateStart = [self adStartDateAtIndex:i];
NSDate *dateEnd = [self adEndDateAtIndex:i];
if (([dateNow earlierDate:dateStart]) || ([dateNow laterDate:dateEnd]))
{
[AdDataArray removeObjectAtIndex:i];
}
i++;
}
, 그 주시면 감사하겠습니다!
@JoshCaswell 거짓말 쟁이가 아님 - 여기서 문제는 날짜 비교가 아니라 루프와 관련된 것입니다. – rmaddy
Oop, 나는 그 비교가 어떻게 행해지고 있는지 잘못 읽었다. @rmaddy. –
비교가 너무 안좋아 보입니다.'[a priorDate : b]'는 'a'와 b의 초기 값을 반환합니다. ('laterDate :'와 비슷하지만 역순으로).'dateStart','dateEnd' 및'dateNow'가 모두 0이 아닌 것으로 가정하면, 모든 항목은 AFAICT가 제거 될 것입니다. – ipmcc