도크 아이콘에 숫자를 추가합니다
-
19-09-2019 - |
문제
내 코드는 다음과 같습니다.
for (NSManagedObject *object in array) {
if ([[object valueForKey:@"DueDate"] isLessThan:[NSDate date]]) {
count++;
NSLog(@"Looped");
NSString *test = [[NSString alloc] initWithFormat:@"%@", [object valueForKey:@"DueDate"]];
NSLog(@"%@", test);
}
}
NSLog(@"%i", count);
NSDockTile *aTitle = [[NSApplication sharedApplication] dockTile];
[aTitle setBadgeLabel:[NSString stringWithFormat:@"%i", count]];
어떤 이유로이 코드는 2 여야 할 때 도크 아이콘에 8을 추가합니다.
해결책
어떤 근거가 당신은 그것이 2 여야한다고 주장합니까? 배열에 마감일이 현재 날짜보다 작은 8 개의 객체가 있습니다 (루프를 통해 매번 새 개체를 만듭니다).
이 관리 객체의 가치의 클래스는 무엇입니까? ' DueDate
재산? (이것에 대한 모델을 보지 마십시오 - 마감일 값을 세웁니다. class
메시지를 보내고 사용한 결과를 기록합니다 NSLog
.) 그들이 nsdate가 아니고 그들의 compare:
메소드는 NSDate와 비교하라는 요청을받을 때 예외를 던지는 대신 단순히 말도 안되는 것을 반환하는 것입니다.
또한,이 객체를 얻기 위해 사용하는 페치 요청의 술어로 X-X-Date 테스트를 포함시키지 않는 이유는 무엇입니까? 그런 다음 (기한 값이 NSDates인지 확인한 후) count
배열의. 그것은 당신이 보여준 코드 외부의 더 큰 결과 배열로 다른 일을하지 않는다고 가정합니다.
제휴하지 않습니다 StackOverflow