zoukankan      html  css  js  c++  java
  • 关于NSNotification的使用(重点掌握)

    使用消息机制的步骤:

    1. 观察者注册消息通知

    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(getUserProfileSuccess:) name:@"Notification_GetUserProfileSuccess" object:nil];

    notificationObserver 观察者 : self
    notificationSelector 处理消息的方法名: getUserProfileSuccess 
    notificationName 消息通知的名字: Notification_GetUserProfileSuccess
    notificationSender 消息发送者 : 表示接收哪个发送者的通知,如果第四个参数为nil,接收所有发送者的通知

     

    2. 发送消息通知

    //UserProfile Is A Model
    //@interface UserProfile : NSObject

    [[NSNotificationCenter defaultCenter] postNotificationName:@"Notification_GetUserProfileSuccess" object:userProfile userInfo:nil];

    notificationName 消息通知的名字: Notification_GetUserProfileSuccess

    notificationSender 消息发送者: userProfile

     

    3. 观察者处理消息 

    复制代码
    - (void) getUserProfileSuccess: (NSNotification*) aNotification
    {
    self.userProfile = [aNotification object];
    
    lblName.text = self.userProfile.Name;
    lblEENO.text = self.userProfile.EENO;
    lblNric.text = self.userProfile.NRIC;
    lblBirthday.text =self.userProfile.Birthday;
    lblHireDate.text = self.userProfile.Hiredate;
    
    txtMobilePhone.text = self.userProfile.Mobile;
    txtEmail.text = self.userProfile.Email;
    }
    复制代码

     

    NSNotification 接受到的消息信息,主要含:
    Name: 消息名称 Notification_GetUserProfileSuccess
    object: 消息发送者 userProfile
    userInfo: 消息传递的数据信息

     

    4. 观察者注销,移除消息观察者

    虽然在 IOS 用上 ARC 后,不显示移除 NSNotification Observer 也不会出错,但是这是一个很不好的习惯,不利于性能和内存。

    注销观察者有2个方法:

    a. 最优的方法,在 UIViewController.m 中:

    -(void)dealloc {
    [[NSNotificationCenter defaultCenter] removeObserver:self];
    }

     If you see the method you don't need to call [super dealloc]; here, only the method without super dealloc needed.

     

    b. 单个移除:

    [[NSNotificationCenter defaultCenter] removeObserver:self name:@"Notification_GetUserProfileSuccess" object:nil];

  • 相关阅读:
    MD5,SHA1,SHA256,SHA512等常用加密算法
    Encoding.GetEncoding 编码列表
    Form开发小技巧
    全国分河流水系流域边界及河流数据水系及主要流域分界图
    建筑物轮廓自然保护区城市AOI水土保持水资源水文建成区生态功能分区矢量数据shptabdwgcdr
    坐标转换一些
    mysql 查询语言使用 lisoaring
    lisoaring python 字符串 编码
    全国各省乡镇街道边界行政区划矢量地图shpmapinfocad最新20101112131415 161718
    写第一篇 随笔
  • 原文地址:https://www.cnblogs.com/wxdonly/p/5130383.html
Copyright © 2011-2022 走看看