美文网首页
NSNotificationCenter的简单介绍

NSNotificationCenter的简单介绍

作者: Mustard_Buli | 来源:发表于2016-03-20 17:04 被阅读56次

    NotificationCenter机制使用了操作系统的功能。而实际上,NSNotification就是通过KVO的方式来进行消息的『广播』。通过NSNotificationCenter可以让对象之间进行进行通讯,这些对象相互间可以不认识。当你用一个并行的流来推送通知,或者刷新数据库,并希望在界面中能够看到时,这非常有用。(我们对系统某些事件的监听的时刻就可以使用这个方法,例如键盘抬起落下操作,某个textfield失去第一响应者的时刻,都会发送一个通知给通知中心,通过监听这些通知,我们就可以与系统交互。)

    [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(keyBoardDicChanged:)name:UIKeyboardWillChangeFrameNotification object:nil];
    
    //方法实现
    -(void)keyBoardDicChanged:(NSNotification *)notification{
        //可以先打印notifi开看看有什么消息名字
        CGRect endRect = [[notifi.userInfo objectForKey:@"UIKeyboardFrameEndUserInfoKey"] CGRectValue];
        ......//屏幕在键盘改变的时候重新布局
        [self.view layoutIfNeeded];   
    }
    

    而NotificationCenter的简单应用的步骤:

    //1.注册消息
    [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(方法) name:@"消息名字" object:nil];
    
    //2.方法实现
    -(void)方法:(NSNotification *)notfication{
        //获取传递的数据
        NSDictionary * dataDic = notfication.object; 
    }
    
    //3.发布消息
    [[NSNotificationCenter defaultCenter]postNotificationName:@"消息名字" object:传回的东西];
    

    相关文章

      网友评论

          本文标题:NSNotificationCenter的简单介绍

          本文链接:https://www.haomeiwen.com/subject/pqqklttx.html