码迷,mamicode.com
首页 > 移动开发 > 详细

IOS - 通知(NSNotification)

时间:2016-05-13 13:44:23      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:

#import "ViewController.h"
#import "SViewController.h"

@interface ViewController ()
@property (weak, nonatomic) IBOutlet UILabel *showLabel;

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    //1.注册为观察者,监听B视图中的通知
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(AMethod:) name:@"MyNotificationName" object:nil];
}

-(void)AMethod:(NSNotification *)notification
{
    //2.获取通知携带的数据,更新label的文本信息
    NSDictionary *dictData = [notification userInfo];
    NSString *str = [dictData objectForKey:@"MyUserInfoKey"];
    self.showLabel.text = str;
}

- (IBAction)goSVC:(id)sender {
    
    SViewController *svc = [[SViewController alloc] init];
    
    [self presentViewController:svc animated:YES completion:^{
        
    } ];
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    //3.移除所有通知
    [[NSNotificationCenter defaultCenter]removeObserver:self];
}

@end
-----------
#import "SViewController.h"

@interface SViewController ()
@property (strong, nonatomic) UITextField *textField;

@end

@implementation SViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    self.view.backgroundColor = [UIColor redColor];
    
    self.textField = [[UITextField alloc] initWithFrame:CGRectMake(20, 200, 100, 30)];
    self.textField.backgroundColor = [UIColor whiteColor];
    [self.view addSubview:self.textField];
    
    UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    btn.frame = CGRectMake(50, 60, 30, 20);
    [btn setTitle:@"go" forState:UIControlStateNormal];
    
    [self.view addSubview:btn];
    
    [btn addTarget:self action:@selector(clickGoVC:) forControlEvents:UIControlEventTouchUpInside];
    
}
- (void)clickGoVC:(id)sender {
    
    //返回视图A并发布通知
    [self dismissViewControllerAnimated:YES completion:^{
        //1.创建userInfo携带的信息
        NSString *str = self.textField.text;
        NSDictionary *dictData = [NSDictionary dictionaryWithObject:str forKey:@"MyUserInfoKey"];
        //2.发布信息
        [[NSNotificationCenter defaultCenter] postNotificationName:@"MyNotificationName" object:nil userInfo:dictData];
    }];
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end

 

IOS - 通知(NSNotification)

标签:

原文地址:http://www.cnblogs.com/garywong1949/p/5487921.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!