#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
//挂出通知change,实现方法为didNotification
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didNotification) name:@"change" object:nil];
}
- (void)didNotification{
self.view.backgroundColor = [UIColor redColor];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
}
@end
//页面2
#import "firstPageViewController.h"
@interface firstPageViewController ()
@end
@implementation firstPageViewController
- (void)viewDidLoad {
[super viewDidLoad];
//同页面一,挂出通知,实现方法为didChange
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didChange) name:@"change" object:nil];
// [[NSNotificationCenter defaultCenter] removeObserver:self name:@"change" object:nil];
}
- (void)didChange{
self.view.backgroundColor = [UIColor greenColor];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
}
@end
//页面3
#import "secondViewController.h"
@interface secondViewController ()
@end
@implementation secondViewController
- (void)viewDidLoad {
[super viewDidLoad];
}
- (IBAction)didChange:(id)sender {
//创建一个通知类型对象
NSNotification *notification = [NSNotification notificationWithName:@"change" object:nil userInfo:nil];
//使用通知
[[NSNotificationCenter defaultCenter] postNotification:notification];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
}
@end
storyboard布局见图
当按下第一个页面的button时跳转到页面二,按下页面二的button时跳转到页面三,按下页面三的change按钮,改变相应的背景颜色。
这样可以快速方便的实现多个对象实现统一功能的操作