iOS利用通知逆传值

直接创建两个控制器,点击跳转第二个界面,然后点击按钮进行传值

#import "ViewController.h"

#import "TWOOViewController.h"

@interface ViewController ()

@property(nonatomic,weak)UILabel * label;

@end

@implementation ViewController

- (void)viewDidLoad {

[super viewDidLoad];

UIButton * nextBtn = [[UIButton alloc]initWithFrame:CGRectMake(0, 50, self.view.bounds.size.width, 50)];

nextBtn.backgroundColor = [UIColor redColor];

[nextBtn addTarget:self action:@selector(nextBtnClick:) forControlEvents:UIControlEventTouchUpInside];

[nextBtn setTitle:@"下一个界面" forState:UIControlStateNormal];

[self.view addSubview:nextBtn];

UILabel * labeltext = [[UILabel  alloc]initWithFrame:CGRectMake(0, 150, self.view.bounds.size.width, 50)];

labeltext.backgroundColor = [UIColor yellowColor];

labeltext.textColor = [UIColor greenColor];

[self.view addSubview:labeltext];

self.label = labeltext;

//创建通知

[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(nexttow:) name:@"nextBtnaa" object:nil];

}

-(void)nextBtnClick:(UIButton*)nextBtn{

TWOOViewController * two = [[TWOOViewController alloc]init];

[self presentViewController:two animated:YES completion:nil];

}

-(void)nexttow:(NSNotification*)nontification{

self.label.text = nontification.object;

}

第二个控制器

#import "TWOOViewController.h"

@interface TWOOViewController ()

@end

@implementation TWOOViewController

- (void)viewDidLoad {

[super viewDidLoad];

self.view.backgroundColor = [UIColor blueColor];

UIButton  * backBtn = [[UIButton alloc]initWithFrame:CGRectMake(0, 79, self.view.bounds.size.width, 50)];

[backBtn setTitle:@"回" forState:UIControlStateNormal];

[backBtn addTarget:self action:@selector(backBtnClick:) forControlEvents:UIControlEventTouchUpInside];

[self.view addSubview:backBtn];

}

-(void)backBtnClick:(UIButton*)backBtn{

[[NSNotificationCenter defaultCenter]postNotificationName:@"nextBtnaa" object:@"逆传值"];

//隐藏本控制器

[self dismissViewControllerAnimated:YES completion:nil];

}

结果:

时间: 2024-10-14 14:38:55

iOS利用通知逆传值的相关文章

iOS利用通知(NSNotification)进行传值

通知 是在跳转控制器之间常用的传值代理方式,除了代理模式,通知更方便.便捷,一个简单的Demo实现通知的跳转传值. iOS通知传值的使用 输入所要发送的信息 ,同时将label的值通过button方法调用传递, - (IBAction)buttonClick:(id)sender { //添加 字典,将label的值通过key值设置传递 NSDictionary *dict =[[NSDictionary alloc] initWithObjectsAndKeys:self.textFieldO

[iOS]利用通知实现监听系统键盘

// // ViewController.m // text // // Created by 李东旭 on 16/1/22. // Copyright © 2016年 李东旭. All rights reserved. // #import <UIKit/UIKit.h> #import "ViewController.h" @interface ViewController () @end @implementation ViewController - (void)v

iOS之 利用通知(NSNotificationCenter)获取键盘的高度,以及显示和隐藏键盘时修改界面的注意事项

我们在开发中会遇到这样的情况:调用键盘时需要界面有一个调整,避免键盘遮掩输入框. 但实现时你会发现,在不同的手机上键盘的高度是不同的.这里列举一下: //获取键盘的高度 /* iphone 6: 中文 2014-12-31 11:16:23.643 Demo[686:41289] 键盘高度是 258 2014-12-31 11:16:23.644 Demo[686:41289] 键盘宽度是 375 英文 2014-12-31 11:55:21.417 Demo[1102:58972] 键盘高度是

iOS 页面之间的传值总结

iOS 页面之间的传值总结   1.属性传值 (1): 属性传值第一步需要用到什么类型就定义什么样的属性 (2): 从上一个页面到一个页面的选中方法里面将要传的值传到来(上一个页面)备注:这种方法只适用于上一个页面推到下一个页面. 如:MainViewController与SecondViewController两个视图控制器,点击MainViewController中的按钮将跳转到SecondViewController视图,同时想要传递一个值过去.这时可以利用属性传值. 首先SecondVi

IOS 页面之间的传值(主讲delegate)

IOS的Delegate,通俗一点说就是页面之间的传值. 总结一下现在知道的IOS页面之间传值的方式有三种 1.使用NSNotification发送通知的传值 主要是通过NSNotificationCenter发送一个通知,他不知道要把值传给谁,当监听的页面收到通知消息,才会获取到消息. 2.是利用属性来传值,我主要是用到A->B中A页面要跳转到B页面,也就把B中需要A的参数通过preparFroSegue方法从A传给B 3.通过NSUserDefault来传值,其主要思想是把值写到本地化的一个

iOS的通知

首先,什么是通知呢,通知跟代理的功能是一样的,都是传值,调方法,但是我个人觉得通知比代理还是要简便的,而且功能更强大,如果你代理弄懂了,那么通知也就非常容易理解了,我认为通知比代理书写更容易,而且功能更强大.代理是一对一传值,但是通知可以一对多或多对多,好了不多说了给大家具体讲一下: 首先了解一下通知中心的概念: 每一个应用程序都有一个通知中心(NSNotificationCenter)实例,专门负责协助不同对象之间的消息通信任何一个对象都可以向通知中心发布通知(NSNotification),

ios常见的页面传值方式

iOS页面间的传值细分有很多种,基本的传值方式有三种:委托Delegate传值.通知NSNotification传值.Block传值,其他在项目中可能会遇到的还有:UserDefault或文件方式传值.单例模式传值.通过设置属性传值,再有其他的传值方式没有遇到使用过在此不做说明.场景适合,自己使用舒服就是好的方式. 在iOS开发的过程中,常见的页面跳转传值方式大致可以分为两种,现归纳总结一下: 第一种:OneViewController页面跳转到TwoViewController页面(即顺传)

IOS 本地通知

在苹果的Mac OSX 和IOS开发的API中有三个不同的"通知",包括:广播通知,本地通知和推送通知. 本地通知只是应用所在设备上给用户通知,而推送通知是远程通知,他是由远程服务器推送过来的 本节主要是讲的本地通知,虽然本地通知并没有任何的网络通信,但是他在编程方面与后面要介绍的推送通知非常相似.我们的例子中有三个按钮,"计划通知开始"按钮开启计划通知,他在10秒钟后到达."停止所有计划通知"按钮式停止和取消已经开始的计划通知."立刻

IOS 本地通知UILocalNotification

//发送通知    UILocalNotification *notification=[[UILocalNotification alloc] init];       if (notification!=nil) {         NSDate *now=[NSDate new];         notification.fireDate=[now dateByAddingTimeInterval:10];//10秒后通知        notification.repeatInterv