精华内容
下载资源
问答
  • iOS 本地通知

    千次阅读 2014-10-27 16:39:47
    ios本地通知初体验

    学习iOS 也有一段时间了,通知还没有看过,今天学习了一下;

    通知主要是用于不同对象之间的数据共享和线程通信(这些专业的词组我也不太懂,弄明白什么事,什么时候该用就行了)。

    看了无线互联的关于本地通知的视频(只有一个简单地例子),不过正适合我的胃口。

    例子应用场景:

    一个child类,在类中有个NSInteger属性初始化为100,定义一个定时器每两秒钟让这个属性值减2,当减到90的时候,想通知中心发送一个通知。

    一个father类,在类中注册接收这个通知,当child发送通知的时候father来接收这个通知并作出相应地反映。

    @interface Child : NSObject
    
    @property (nonatomic,assign) NSInteger  num;
    
    @end

    #import "Child.h"
    
    @implementation Child
    
    @synthesize num;
    
    - (id)init
    {
        self = [super init];
        if (self) {
            num = 100;
            [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(timeobserver:) userInfo:nil repeats:YES];
        }
        return self;
    }
    - (void)timeobserver:(NSTimer *)timer
    {
        NSLog(@"child:%ld",num);
        num -= 2;
        if (num == 90) {
            [[NSNotificationCenter defaultCenter]postNotificationName:@"child" object:[NSNumber numberWithInteger:num]];//第一个参数为该通知的名字,用于识别通知,第二个参数object为传递的参数
            
        }
    }
    @end

    @implementation Father
    
    -(id)init
    {
        self = [super init];
        if (self) {
            [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(observer:) name:@"child" object:nil];//注册接收通知,<pre name="code" class="objc">如果第四个参数为nil<span style="font-family: Arial, Helvetica, sans-serif;">表示接收名字为name(第三个参数)的通知,如果第四个参数指定对象,那么只接收该对象下名为name的参数。</span>
    } return self;}- (void)observer:(NSNotification *)notification{ NSInteger i = (NSInteger) notification.object; NSLog(@"%ld",(long)i);}@end
    
    

    展开全文
  • IOS本地通知

    2017-02-13 17:20:24
    原文地址:IOS本地通知作者:simon发送通知:  UILocalNotification *newNotification = [[UILocalNotification alloc] init];  if (newNotification) { //时区      newNotification.timeZone=[NSTimeZone ...
    原文地址:IOS本地通知作者:simon

    发送通知:  

      UILocalNotification *newNotification = [[UILocalNotification alloc] init];

       if (newNotification) {

    //时区

            newNotification.timeZone=[NSTimeZone defaultTimeZone];

    //推送事件---10秒后

            newNotification.fireDate=[[NSDate date] dateByAddingTimeInterval:10];

            //推送内容

            newNotification.alertBody = @"信号报警";

    //应用右上角红色图标数字

            newNotification.applicationIconBadgeNumber = 1;

    注:

    //1:格式一定要支持播放,常用的格式caf

    //2:音频播放时间不能大于30秒

    //3:在Resource里要找到音频文件,倒入时最好能点项目名称右键add导入

            newNotification.soundName = @"jingBao2.caf";

    //设置按钮

    newNotification.alertAction = @"关闭";

           //判断重复与否

            newNotification.repeatInterval = NSWeekCalendarUnit;

    //存入的字典,用于传入数据,区分多个通知 

            NSMutableDictionary *dicUserInfo = [[NSMutableDictionary alloc] init];

            [dicUserInfo setValue:@"" forKey:@"clockID"];

            float floatHeng = userLocation.location.coordinate.latitude;

            float floatShu = userLocation.location.coordinate.longitude;

            [dicUserInfo setValue:[NSString stringWithFormat:@"%f",strX] forKey:@"heng"];

            [dicUserInfo setValue:[NSString stringWithFormat:@"%f",strY] forKey:@"shu"];

            newNotification.userInfo = [NSDictionary dictionaryWithObject:dicUserInfo forKey:@"dictionary"];

            [dicUserInfo release];

            [[UIApplication sharedApplication] scheduleLocalNotification:newNotification];

        }

        NSLog(@"Post new localNotification:%@", newNotification);

        [newNotification release];

        [pool release];


    取消通知:

    通知完一定要取消,IOS最多允许最近本地通知数量是64个,超过限制的本地通知将被忽略。

    1:删除应用所有通知

    [[UIApplication sharedApplication] cancelAllLocalNotifications];

    2:根据字典删除个别通知 

    key:发送通知时候传入的字典值来判断是哪个推送

     

        for (int i=0; i<[myArray count]; i++) {

           UILocalNotification    *myUILocalNotification=[myArray objectAtIndex:i];

           if ([[[myUILocalNotification userInfo] objectForKey:@"key"] intValue]==@"字典值") {

                [[UIApplication sharedApplication] cancelLocalNotification:myUILocalNotification];

            }

        }


    通知执行完调用的方法 AppDelegate.m类里面

    //推送完 执行的事件

    -(void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification{

    //notification是发送通知时传入的字典信息

    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"标题" message:notification.alertBody delegate:nil cancelButtonTitle:@"确定" otherButtonTitles:nil];

            [alert show];

    [alert release];

    }

    最后还有一个地方:执行通知一定要退出应用才能收到通知。

    展开全文
  • iOS本地通知

    2015-01-28 17:26:00
    iOS本地通知在程序运行时不会推动消息,只有在程序进入后台时才会提醒。 - (IBAction)addLocalNote { // 1.创建通知 UILocalNotification *localNote = [[UILocalNotification alloc] init]; // 2.设置...

    1:cmd+l 锁屏幕

    iOS本地通知在程序运行时不会推动消息,只有在程序进入后台时才会提醒。

    - (IBAction)addLocalNote {
        // 1.创建通知
        UILocalNotification *localNote = [[UILocalNotification alloc] init];
        
        // 2.设置属性
        // 操作标题
        localNote.alertAction = @"开始玩游戏";
        
        // 显示的内容
        localNote.alertBody = @"都好几天了, 你赶紧用一下我吧!!!";
        localNote.applicationIconBadgeNumber = 1;
        
        // 提醒频率
        localNote.repeatInterval = NSCalendarUnitMinute;
        localNote.alertLaunchImage = @"Default"; // 点击通知, 打开程序时候现实的启动图片
        
        // 什么时候出来(从现在时间开始5秒后出来)
        localNote.fireDate = [NSDate dateWithTimeIntervalSinceNow:5];
        
        // 3.注册通知(添加)
        UIApplication *app = [UIApplication sharedApplication];
        [app cancelAllLocalNotifications];
        
        // 定制一个本地通知
        [app scheduleLocalNotification:localNote];
    }

     

    转载于:https://www.cnblogs.com/xiaokanfengyu/p/4256456.html

    展开全文
  • IOS 本地通知

    2019-06-29 19:13:28
    在苹果的Mac OSX 和IOS开发的API中有三个不同的"通知",包括:广播通知,本地通知和推送通知。 本地通知只是应用所在设备上给用户通知,而推送通知是远程通知,他是由远程服务器推送过来的 本节主要是讲的本地通知,...

    在苹果的Mac OSX 和IOS开发的API中有三个不同的"通知",包括:广播通知,本地通知和推送通知。

    本地通知只是应用所在设备上给用户通知,而推送通知是远程通知,他是由远程服务器推送过来的

    本节主要是讲的本地通知,虽然本地通知并没有任何的网络通信,但是他在编程方面与后面要介绍的推送通知非常相似。我们的例子中有三个按钮,“计划通知开始”按钮开启计划通知,他在10秒钟后到达。“停止所有计划通知”按钮式停止和取消已经开始的计划通知。“立刻发送通知”按钮式马上发出通知

    先看看计划通知开始的代码:

     1 - (IBAction)scheduleStart:(id)sender {
     2     
     3     UILocalNotification *localNotification=[[UILocalNotification alloc]init];
     4     
     5     //设置通知10秒后触发
     6     localNotification.fireDate=[[NSDate alloc]initWithTimeIntervalSinceNow:10];
     7     
     8     //设置通知消息
     9     localNotification.alertBody = @"计划通知,新年好";
    10     
    11     //设置通知标记数
    12     localNotification.applicationIconBadgeNumber=1;
    13     
    14     //设置通知出现时声音
    15     localNotification.soundName = UILocalNotificationDefaultSoundName;
    16     
    17     //设置动作按钮的标题
    18     localNotification.alertAction=@"View Details";
    19     
    20     //计划通知
    21     [[UIApplication sharedApplication] scheduleLocalNotification:localNotification];
    22 }

    停止所有计划通知的按钮代码如下:

    1 - (IBAction)scheduleEnd:(id)sender {
    2     
    3     //结束计划通知
    4     [[UIApplication sharedApplication] cancelAllLocalNotifications];
    5 }

    立即发送通知按钮代码如下:

     1 - (IBAction)nowStart:(id)sender {
     2     
     3     UILocalNotification *localNotification = [[UILocalNotification alloc]init];
     4     
     5     //设置通知消息
     6     localNotification.alertBody = @"立即通知,新年好!";
     7     //设置通知徽章数
     8     localNotification.applicationIconBadgeNumber=1;
     9     
    10     //设置通知出现时候的声音
    11     localNotification.soundName=UILocalNotificationDefaultSoundName;
    12     
    13     //设置动作按钮的标题
    14     localNotification.alertAction = @"View Details";
    15     
    16     //立即发出通知
    17     [[UIApplication sharedApplication]presentLocalNotificationNow:localNotification];
    18 }

     

    转载于:https://www.cnblogs.com/haibosoft/p/3694646.html

    展开全文
  • ios本地通知

    2020-04-06 23:26:19
    一.通知 1.通知的用途: (1)不在同一页面或者关联性不大的页面之间传递消息 (2)一个页面或者动作需要...(1)本地通知:由APP发送到当前设备,不需要网络支持的 (2)远程通知:由APP的服务器发送到苹果的 APNs ...
  • ios 本地通知

    2015-10-06 17:07:23
    iOS中 相对于远程通知 本地通知要简单得多 只有两个地方写点代码就能实现 本地通知(UILocalNotification) 操作流程  1.接收通知(接收通知对象)  -(void)application:(UIApplication *)application ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,374
精华内容 549
关键字:

ios本地通知