알림 전송(NSNotificationCenter)

알림 전송 값
//프로세스:
1.
등록 알림 2.알림 센터, 메시지 알림 보내기 --------------그중name 이름은 절대 잘못 쓰지 마세요. 세 군데에 나타날 거예요.알림 센터 내부의 방법을 실현하고 전송을 실현한다.4단계, 메시지 발송 완료, 제거
코드는 다음과 같습니다.
#import "FirstViewController.h"#import "SecondViewController.h"#import "UIButton+Create.h"@interface FirstViewController ()
{  UILabel * _label;
}@end@implementation FirstViewController- (void)dealloc
{  [_label release];  //   ,     ,      [[NSNotificationCenter defaultCenter]removeObserver:self name:@"labelTextNotification" object:nil];  [super dealloc];
}
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{  self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];  if (self) {    // Custom initialization  }  return self;
}

- (void)viewDidLoad
{  [super viewDidLoad];      self.view.backgroundColor = [UIColor redColor];  self.navigationItem.title = @"  ";    _label = [[UILabel alloc]initWithFrame:CGRectMake(50, 80, 200, 30)];  _label.backgroundColor = [UIColor greenColor];  [self.view addSubview:_label];        UIButton * button = [UIButton systemButtonWithFrame:CGRectMake(100, 120, 50, 50) title:@"Push" target:self action:@selector(didClickButtonAction)];  [self.view addSubview:button];    //   ,    ,        ----------  name         ,    3     [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(showLabelText:) name:@"labelTextNotification" object:nil];  
       // Do any additional setup after loading the view.
}

- (void)showLabelText:(NSNotification *)notification
{  //  ,           ,       id text = notification.object;  _label.text = text;
}

- (void)didClickButtonAction
{  
    SecondViewController * secondVC = [[SecondViewController alloc]init];  [self.navigationController pushViewController:secondVC animated:YES];  [secondVC release];
}

- (void)didClick:(NSString *)text
{  _label.text = text;
}

- (void)didReceiveMemoryWarning
{  [super didReceiveMemoryWarning];  // Dispose of any resources that can be recreated.
}@end
#import "SecondViewController.h"#import "FirstViewController.h"#import "UIButton+Create.h"@interface SecondViewController ()
{  UITextField * _textField;//       
}@end@implementation SecondViewController- (void)dealloc
{  [_textField release];  [super dealloc];
}
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{  self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];  if (self) {    // Custom initialization  }  return self;
}

- (void)viewDidLoad
{  [super viewDidLoad];  self.view.backgroundColor = [UIColor orangeColor];  self.navigationItem.title = @"   ";  
      _textField = [[UITextField alloc]initWithFrame:CGRectMake(50, 80, 200, 30)];  _textField.borderStyle = UITextBorderStyleRoundedRect;  [self.view addSubview:_textField];          UIButton * button = [UIButton systemButtonWithFrame:CGRectMake(100, 120, 50, 50) title:@"Back" target:self action:@selector(didClickButtonAction)];  [self.view addSubview:button]; 
          // Do any additional setup after loading the view.
}

- (void)didClickButtonAction
{    //         [[NSNotificationCenter defaultCenter]postNotificationName:@"labelTextNotification" object:_textField.text];  [self.navigationController popToRootViewControllerAnimated:YES];
}



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

좋은 웹페이지 즐겨찾기