標籤:
#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)