通知中心的只用NSNotificationCenter传值 和打电话,发短信,邮件,打开网页的直接打开的功能

通知中心的使用

第一个页面三部;

  1.     产生一个通知中心的对象(系统的一个单例类)

  2. 在通知中心注册一个观察者

  3. 收到通知后调用的方法

  4. dealloc移除观察者的身份

第二个页面 

  1. 发送通知中心

  2. 创建一个字典

  3. 返回你要的数据


直接跳转的功能


    //直接跳入的功能;
    //打电话
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://110"]];
    //发短信
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"sms://1010"]];
    //邮件
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"mail://[email protected]"]];
    //打开网页
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.baidu.com"]];

通知中心


第一个页面

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    self.view.backgroundColor = [UIColor redColor];
    self.title = @"第一页";
    //通知中心的使用
    //产生一个通知中心的对象 (系统的一个单例类)
    NSNotificationCenter *center = [NSNotificationCenter defaultCenter];
    
    //在通知中心注册一个观察者
    //参数1:观察者
    //参数2:观察者收到通知后  要做的事情
    //参数3:观察什么事情 (一字符串标记)
    //参数4:  限定发出通知的对象
    [center addObserver:self selector:@selector(suibian:) name:@"我好困啊,想睡觉了____99" object:nil];
    
    
    
    UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(100, 100, 100, 30)];
    [button setTitle:@"按钮" forState:UIControlStateNormal];
    button.backgroundColor = [UIColor blackColor];
    [self.view addSubview:button];
    [button addTarget:self action:@selector(buttonClick:) forControlEvents:UIControlEventTouchUpInside];
    [button release];
    
    
}
//收到通知后调用的方法
- (void)suibian:(NSNotification *)noti
{
    self.view.backgroundColor = noti.object;  //接收改变收的颜色
    NSLog(@"object:%@",noti.object);
    NSLog(@"userInfo%@",noti.userInfo);
    NSLog(@"收到通知");
    
}
- (void)dealloc
{
    //注册为观察者的对象,需要在被系统dealloc之前,取消掉自己的观察者身份
    [[NSNotificationCenter defaultCenter] removeObserver:self];
    [super dealloc];
}

第二个页面

- (void)buttonClick:(UIButton *)button
{
//    FirstViewController *first = [[FirstViewController alloc] init];
    
    //通知中心的使用
    
    //发送通知
    NSNotificationCenter *center = [NSNotificationCenter defaultCenter];
    //参数1:给那个时间发送通知
    //参数2:发送的通知可以带一个参数
    //参数3:如果要传多个参数,就拼一个字典,填入第三个参数中
    NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:@"valur", @"key", nil];
    UIColor *color = [UIColor darkGrayColor]; //要返回的颜色
    [center postNotificationName:@"我好困啊,想睡觉了____99" object:/*@"附带参数,麻痹,困死啦"*/color userInfo:dic];
    
    
    [self.navigationController popToRootViewControllerAnimated:YES];
}



本文出自 “小刘_Blog” 博客,请务必保留此出处http://liuyafang.blog.51cto.com/8837978/1557029

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。