博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
通知传值
阅读量:5219 次
发布时间:2019-06-14

本文共 3643 字,大约阅读时间需要 12 分钟。

#import 
@interface AppDelegate : UIResponder
@property (strong, nonatomic) UIWindow *window;@end
/** * 通知在一对多的时候使用,从性能考虑一对一时不建议使用 */#import "AppDelegate.h"#import "RootViewController.h"@interface AppDelegate ()@end@implementation AppDelegate- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];    self.window.backgroundColor = [UIColor whiteColor];        //初始化导航控制器    UINavigationController *navi = [[UINavigationController alloc] initWithRootViewController:[[RootViewController alloc] init]];    self.window.rootViewController = navi;        [self.window makeKeyAndVisible];    return YES;}@end
#import 
@interface RootViewController : UIViewController@end
#import "RootViewController.h"#import "LFViewController.h"@interface RootViewController ()@property(nonatomic, strong) UILabel *messageLabel ;@end@implementation RootViewController- (void)viewDidLoad {    [super viewDidLoad];    //添加按钮    UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];    button.frame = CGRectMake(100, 100, 150, 60);    [button setTitle:@"push到下一个页面" forState:0];    [button setBackgroundColor:[UIColor greenColor]];    [button addTarget:self action:@selector(buttonAction:) forControlEvents:UIControlEventTouchUpInside];    [self.view addSubview:button];        //添加Label    self.messageLabel = [[UILabel alloc] initWithFrame:CGRectMake(100, 200, 150, 60)];    self.messageLabel.backgroundColor = [UIColor greenColor];    self.messageLabel.textAlignment = NSTextAlignmentCenter;    [self.view addSubview:self.messageLabel];        [self addNotification];}/** *  添加通知 */- (void)addNotification{    /**     *  @param receiveNotification: 接收通知后执行的方法     *     *  @name: 通知的名字     */    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(receiveNotification:) name:@"notification" object:nil];}/** *  接收到通知 */- (void)receiveNotification:(NSNotification*)info{    NSDictionary *dict = info.userInfo;    NSString *message = dict[@"info"];    if (message) {        NSLog(@"%@",message);        self.messageLabel.text = message;    }}/** *  按钮事件 */- (void)buttonAction:(UIButton*)sender{    LFViewController *lfController = [[LFViewController alloc] init];    [self.navigationController pushViewController:lfController animated:YES];}-(void)dealloc{    //移除通知    [[NSNotificationCenter defaultCenter] removeObserver:self name:@"notification" object:nil];}@end
#import 
@interface LFViewController : UIViewController@end
#import "LFViewController.h"@interface LFViewController ()@end@implementation LFViewController- (void)viewDidLoad {    [super viewDidLoad];    //添加按钮    UIButton *backBtn = [UIButton buttonWithType:UIButtonTypeCustom];    backBtn.frame = CGRectMake(100, 100, 150, 60);    [backBtn setTitle:@"返回且发送通知" forState:0];    [backBtn setBackgroundColor:[UIColor greenColor]];    [backBtn addTarget:self action:@selector(backBtnAction:) forControlEvents:UIControlEventTouchUpInside];    [self.view addSubview:backBtn];}/** *  backBtn按钮的事件 */- (void)backBtnAction:(UIButton*)sender{    NSDictionary *dict = @{
@"info":@"a good news"}; /** * @Name 通知的名字 * @userInfo 通知携带的信息 */ NSNotification *notification = [[NSNotification alloc] initWithName:@"notification" object:nil userInfo:dict]; //发送通知 [[NSNotificationCenter defaultCenter] postNotification:notification]; [self.navigationController popViewControllerAnimated:YES];}@end

 

转载于:https://www.cnblogs.com/lantu1989/p/5421494.html

你可能感兴趣的文章
android smack MultiUserChat.getHostedRooms( NullPointerException)
查看>>
递归-下楼梯
查看>>
实用的VMware虚拟机使用技巧十一例
查看>>
监控工具之---Prometheus 安装详解(三)
查看>>
Azure Iaas基础之---创建虚拟机
查看>>
不错的MVC文章
查看>>
网络管理相关函数
查看>>
IOS Google语音识别更新啦!!!
查看>>
20190422 T-SQL 触发器
查看>>
[置顶] Linux终端中使用上一命令减少键盘输入
查看>>
poj1422_有向图最小路径覆盖数
查看>>
BootScrap
查看>>
[大牛翻译系列]Hadoop(16)MapReduce 性能调优:优化数据序列化
查看>>
WEB_点击一百万次
查看>>
CodeForces - 878A Short Program(位运算)
查看>>
路冉的JavaScript学习笔记-2015年1月23日
查看>>
Mysql出现(10061)错误提示的暴力解决办法
查看>>
2018-2019-2 网络对抗技术 20165202 Exp3 免杀原理与实践
查看>>
NPM慢怎么办 - nrm切换资源镜像
查看>>
CoreData 从入门到精通(四)并发操作
查看>>