2016-12-20 1 views
0

나는 매주 일요일, 월요일 및 토요일 알림의 세 범주가 UILocalNotification입니다.특정 알림 개수를 얻는 방법

월요일에 트리거 된 카운트 번호와 같은 특정 알림을받는 방법. UILocalNotification (원격 또는 푸시 알림이 아님) 알림이 있습니다.

두 달 내에 실행되는 월요일 알림의 수는 어떻게 계산합니까?

참고 : 푸시 또는 원격 알림의 범위가 없습니다.

답변

2

당신은 이것을 수동으로 관리해야 할 것입니다. 내가하는 방법은 AppDelegate의 didReceiveLocalNotification 메소드를 활용하는 것입니다. 이것을 구현 한 다음 UILocalNotificationObjectfireDate 속성을 확인하십시오. 다음 코드를 사용하여이 요일로 구문 분석 할 수 있습니다 : 당신은 당신이 가진 수를 기준으로 NSUserDefaults에서이 값을 증가 저장할 수

int dayOfWeek = [[NSCalendar currentCalendar] component:NSCalendarUnitWeekday fromDate:notification.fireDate]; 

. 1

long dayOfWeek = [[NSCalendar currentCalendar] component:NSCalendarUnitWeekday fromDate:notification.fireDate]; 
long currentCount = [[NSUserDefaults standardUserDefaults] integerForKey:[NSString stringWithFormat:@"weekdayNotificationCount_%ld", dayOfWeek]]; 
[[NSUserDefaults standardUserDefaults] setInteger:currentCount + 1 forKey:[NSString stringWithFormat:@"weekdayNotificationCount_%ld", dayOfWeek]]; 

... 당신은 항상 당신의 NSUserDefaults에 저장된 실행 총있을 것이다 그런 식으로 월요일 2 화요일 등이 될 것이다 앱이 삭제 된 경우에만 사라집니다.

+0

수신 된 알림 메시지를 탭하면 didReceiveLocalNotification이 트리거됩니다. 알림을 열지 않으면 didReceiveLocalNotification이 작동하지 않고 개수가 일치하지 않게됩니다. – kiran

+0

흠, 그럴 경우 네가 붙어있을 수 있다고 생각한다. 확실히 원격 알림을 통해이 작업을 수행 할 수 있지만 이미이 작업을 수행 할 범위가 없다고 말한 것입니다. –

+0

당신이 맞다 나는 그것에 대한 푸시 알림에 대한 범위가 없으면 알림 빌 반지를받은 일단 방아쇠를 트리거하는 방법이 무엇입니까? – kiran

관련 문제