苹果中一般包括广播通知、本地通知、推送通知三种通知机制。
而关于广播通知的,其实就是观察者模式的使用,我已经在以下这篇文章中写过了
http://blog.csdn.net/aa19920630/article/details/43450893
接下来我们来谈谈本地通知,本地通知的消息会在你的苹果设备上显示出通知信息。而且也可以设置在应用的图标中显示消息数目。
本地通知主要使用UILocalNotification这个类来进行通知的设置。
接下来看一下代码
//ios8之后的通知要用以下代码让用户先同意该应用发送推送
if ([UIApplication instancesRespondToSelector:@selector(registerUserNotificationSettings:)])
{
[[UIApplication sharedApplication] registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert|UIUserNotificationTypeBadge|UIUserNotificationTypeSound categories:nil]];
}
//创建通知对象
UILocalNotification *notic = [[UILocalNotification alloc] init];
//设置10秒后触发通知
notic.fireDate = [[NSDate alloc] initWithTimeIntervalSinceNow:10];
//设置通知标记数
notic.applicationIconBadgeNumber = 1;
//设置通知的声音
notic.soundName = UILocalNotificationDefaultSoundName;
//设置通知的内容
notic.alertBody = @"提前祝您新春快乐!";
//设置按钮的标题
notic.alertAction = @"王伟楷发来贺电:";
//计划通知
[[UIApplication sharedApplication] scheduleLocalNotification:notic];
如果在通知之前想取消掉通知的话,可以使用
[[UIApplication sharedApplication] cancelAllLocalNotifications];
当然如果你想要马上收到通知的话,可以将 [[UIApplication sharedApplication] scheduleLocalNotification:notic]换成以下代码即可
[[UIApplication sharedApplication] presentLocalNotificationNow:notic];