• ios开发之通知事件


    每天学习一点点,总结一点点,成功从良好的习惯开始!

    昨天学习了ios开发中的关于通知事件的一些东西,在这里简单总结下,仅供初学者学习,更多的是怕我自己忘了,咩哈哈~~~~

    通知(notification),顾名思义就是两个东西之间的通信,(A通知B或者B通知A),当A发生某个动作时向B发送通知,B监听这个事件,如果B监听到此事件了,就开始做某些事。

    下面咱们开始从具体实例开始说吧!!!!

    首先我们先创建一个按钮,A点击按钮来触发某个事件,发送通知,B收到通知后开始做某些事情。就是这么简单,下面来看下代码的实现

     1 UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
     2 
     3 button.frame = CGRectMake(10, 10, 50, 50);
     4 button.backgroundcolor = [UIColor bluecolor];
     5 [self.view addSubview button];
     6 
     7 //添加action
     8 [button addTarget:self action:@selector(clickButton:) forControlEvents: UIControlEventTouchUpInside];
     9 
    10 //添加观察者,监听通知
    11 [[NSNotificationCenter defaultCenter] addObserver:self
    12     selector:@selector(recEvent:)
    13     name:@"notification" object:nil];        //name最好用宏定义,这里简单使用NSString
    14 
    15 
    16 
    17 - (void)clickButton:(NSNotification *)notification
    18 {
    19     //当点击按钮的时候发送通知  
    20    [[NSNotificationCenter defaultCenter]
    21     postNotificationName:@"notification" object:nil];  //object可以带一些自己感兴趣的值
    22 }
    23 
    24 
    25 - (void)recEvent:(NSNotification *)notification
    26 {
    27     //当收到通知的时候我们简单在这里打印一句话吧
    28     NSLog(@“receive event”);
    29 }
    30 
    31 -(void)dealloc
    32 {
    [super dealloc];
    33     //重写dealloc方法,移除观察者(至关重要) 
    34 [[NSNotificationCenter defaultCenter] removeObserver:self name:@“notification” object:nil];
    //注意参数notificationObserver为要删除的观察者,一定不能 置为nil。
    35
    // 如果这有好多监听代理的
         //[[NSNotificationCenter defaultCenter] removeObserver:self];
        }

    注:以上代码纯手打,如有错误,多多包含!!!!!

  • 相关阅读:
    Irrlicht_0.1源码学习(3)—Irrlicht.cpp & include/Irrlicht.h
    Irrlicht_0.1源码学习(2)—引擎目录结构
    Irrlicht_0.1源码学习(1)—Welcome to the Irrlicht Engine
    Visual Studio 2013 编译时 "error LNK2026:模块对于 SAFESEH 映像是不安全的" 解决方案
    Windows平台下Lua环境的搭建
    系统调用与API
    前端学习技巧分享
    简单的bootstarp项目实例
    js显示表单的提交验证
    拷贝一张图片,从一个目录到另外一个目录下(PS:是拷贝是不是移动)
  • 原文地址:https://www.cnblogs.com/20150507-smile/p/4828264.html
Copyright © 2020-2023  润新知