zoukankan      html  css  js  c++  java
  • iOS边练边学--通知机制和键盘处理

    一、通知中心(NSNotificationCenter)

    • 每一个程序都有一个通知中心实例,专门负责协助不同对象之间的消息通信
    • 任何一个对象都可以想通知中心发布通知(NSNotification),描述自己在做什么。其他感兴趣的对象(Observer)可以申请在某个特定的通知发布时(或在某个特定的对象发布通知时)收到这个通知

    二、通知(NSNotification)

    • 一个完整的通知一般包含3个属性:
    1. - (NSString *)name; // 通知的名称
    2. - (id)object; // 通知发布者(是谁要发布通知)
    3. - (NSDictionary *)userInfo; // 一些额外的信息(通知发布者传递给通知接受者的信息内容)
    • 初始化一个通知(NSNotification)对象
    1. + (instancetype)notificationWithName:(NSString *)aName object:(id)anObject;
    2. + (instancetype)notificationWithName:(NSString *)aName object:(id)anObject userInfo:(NSDictionary *)aUserInfo;
    3. - (instancetype)initWithName:(NSString *)name object:(id)object userInfo:(NSDictionary *)userInfo;

    三、发布通知:通知中心NSNotificationCenter提供了相应的方法来帮助发布通知

    • - (void)postNotification:(NSNotification *)notification;
      发布一个notification通知,可在notification对象中设置通知的名称、通知发布者、额外信息等
    • - (void)postNotificationName:(NSString *)aName object:(id)anObject;
      发布一个名称为aName的通知,anObject为这个通知的发布者
    • - (void)postNotificationName:(NSString *)aName object:(id)anObject userInfo:(NSDictionary *)aUserInfo;

       发布一个名称为aName的通知,anObject为这个通知的发布者,aUserInfo为额外信息

    四、注册通知监听器

    五、取消注册通知监听器

    六、UIDevice通知

    七、键盘通知

    八、通知和代理的选择

     
  • 相关阅读:
    二元查找树转化成排序的双向链表——要求不创建新的节点
    MySQL 通配符学习小结
    HDU 1596 find the safest road (最短路)
    webapp开发调试环境--weinre配置
    全局钩子具体解释
    英尺到米的换算
    apache2.2 虚拟主机配置
    HTTP Digest authentication
    前端project师的修真秘籍(css、javascript和其他)
    CODE:BLOCK中的CreateProcess: No such file or directory
  • 原文地址:https://www.cnblogs.com/gchlcc/p/5301749.html
Copyright © 2011-2022 走看看