0

你好我有问题UILocalNotification。我正在从服务器接收通知,并将其存储Json ArrayMutable array. 像 :

idnoty * 通知的 id titlenoty * 通知的标题

当我尝试这段代码时:

UILocalNotification *notif;
NSMutableArray *notifications = [[NSMutableArray alloc] init];
for(int i=0 ; i<[idnoty count]; i++){
         notif=[[UILocalNotification alloc]init];
   if (notif == nil) return;

NSLog(@" H LOOP %i",i);

notif.fireDate = [NSDate date];
notif.timeZone = [NSTimeZone defaultTimeZone];
[[UIApplication sharedApplication] cancelAllLocalNotifications];
UILocalNotification *localNotification = [[UILocalNotification alloc] init];
[localNotification setHasAction:YES];
localNotification.timeZone = [NSTimeZone localTimeZone];
localNotification.alertBody = [titlenoty objectAtIndex:i];
localNotification.applicationIconBadgeNumber = i+1;

    [[UIApplication sharedApplication] scheduleLocalNotification:localNotification ];
}

最后,当我收到来自服务器的 2 个或更多通知时。此代码显示最后的通知。

json: 代码

content =     (
                {
            active = 1;
            descr = sdescr;
            entrydate = "2013-05-15";
            id = 48;
            pid = 11;
            title = dasdsad;
        },
                {
            active = 1;
            descr = sdescr;
            entrydate = "2013-05-16";
            id = 49;
            pid = 11;
            title = MALAKA;
        },
                {
            active = 1;
            descr = sdescr;
            entrydate = "2013-05-16";
            id = 50;
            pid = 11;
            title = dasdsadsadsadsadsadsadsagdfggffggfdgdfgdfgdfgdfgdfgdfgdfgdf;
        }
    );
    "total_rows" = 3;
}

谢谢

4

1 回答 1

0

您不应该每次都在循环内调用 [[UIApplication sharedApplication] cancelAllLocalNotifications]。

于 2013-05-15T10:08:29.817 回答