iOS block进行页面之间传值

#import <UIKit/UIKit.h>

@interface FirstViewController : UIViewController

@property (weak, nonatomic) IBOutlet UITextField *contentTxtField;

@end

#import "SecondViewController.h"

#import "FirstViewController.h"

@interface FirstViewController ()

@end

@implementation FirstViewController

- (void)viewDidLoad

{

[super viewDidLoad];

// Do any additional setup after loading the view, typically from a nib.

}

- (void)didReceiveMemoryWarning

{

[super didReceiveMemoryWarning];

// Dispose of any resources that can be recreated.

}

- (IBAction)jumpToSecondBtnClick:(UIButton *)sender

{

UIStoryboard *firstSb=[UIStoryboard storyboardWithName:@"Main" bundle:nil];

SecondViewController *secondCtl=[firstSb instantiateViewControllerWithIdentifier:@"second"];

[secondCtl compeleteBlock:^(NSString *string) {

_contentTxtField.text=string;

}];

[self.navigationController pushViewController:secondCtl animated:YES];

}

@end

#import <UIKit/UIKit.h>

typedef void (^BlockPassValue) (NSString *string);

@interface SecondViewController : UIViewController

{

BlockPassValue myBlockValue;

}

@property (weak, nonatomic) IBOutlet UITextField *valueTxtField;

-(void)compeleteBlock:(BlockPassValue)myblock;

@end

#import "SecondViewController.h"

@interface SecondViewController ()

@end

@implementation SecondViewController

- (void)viewDidLoad

{

[super viewDidLoad];

// Do any additional setup after loading the view.

}

- (void)didReceiveMemoryWarning

{

[super didReceiveMemoryWarning];

// Dispose of any resources that can be recreated.

}

-(void)compeleteBlock:(BlockPassValue)myblock

{

myBlockValue=myblock;

}

- (IBAction)backToFirstBtnClick:(UIButton *)sender

{

if (myBlockValue)

{

myBlockValue(_valueTxtField.text);

}

[self.navigationController popViewControllerAnimated:YES];

}

@end

时间: 2024-10-08 22:25:20

iOS block进行页面之间传值的相关文章

iOS学习之页面之间传值的方式总结

传值三种场景: 1.属性传值(从前往后传) 需求:第二个界面标签显示第一个界面输入框文字. 第一步, 在前一个界面定义属性. (语义属性声明为copy); 第二步, 在进入下一个界面之前,给属性传入数据. 第三步, 在后一个界面读取数据. 2.代理传值(从后往前传) 需求: 第一步:在后一个界面定义协议;并且定义一个方法,有一个参数,参数类型和传值类型一样; 第二步:定义代理属性.语义特性为assign, 类型为id,并且服从协议.id<xxxdelegate>; 第三步:寻找代理对象,(在p

js父页面和子页面之间传值

今天和朋友一块讨论,怎样通过js在父页面和子页面之间传值的问题,总结例如以下: 需求描写叙述:父页面有多个子页面.实如今父页面点击子页面,传值到子页面. 看着非常easy,试了好久.主要纠结在怎样获取iframe,刚開始用document.getElementById('iframe的ID'),后来查资料才发现这样的方法仅仅是去取出了一个OBJECT,不能操作它的函数方法.后来改成window.iframes["iframe的name"],这样就能够获取子页面的整个DOM,能够操作它的

asp.net页面之间传值方法详解

asp.net中页面之间传值我们用得最多的就是get,post这两种了,其它的如session,appliction,cookie等这些相对来说少用也不是常用的,只是在特殊情况下在使用了. 1. Get(即使用QueryString显式传递) 方式:在url后面跟参数. 特点:简单.方便. 缺点:字符串长度最长为255个字符:数据泄漏在url中. 适用数据:简单.少量.关键的数据. 适用范围:传递给自己.传递给另一个目标页面:常用于2个页面间传递数据. 用法:例如:url后加?UserID=…,

【转】【ASP.NET MVC系列】浅谈ASP.NET 页面之间传值的几种方式

ASP.NET MVC系列文章 原文地址:https://www.cnblogs.com/wangjiming/p/6275854.html [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作篇)(下) [04]浅谈ASP.NET框架 [05]浅谈ASP.NET MVC运行过程 [06]浅谈ASP.NET MVC 控制器 [07]浅谈ASP.NET MVC 路由 [08]浅谈AS

iOS delegate 实现页面之间的传值

最近刚刚接触ios开发,也没有一本好的书可以阅读,所有的功能都只能靠自己的摸索实现.这两天在做多个页面之间的跳转和传值问题, 页面跳转看我另一篇文章http://blog.csdn.net/xiaotanyu13/article/details/7711954 现在将用delegate来传值 一开始看网上的资源有些看不懂,总感觉很高深的样子 后来一想,实际上delegate传值的实质就是: 比如右AB两个页面,A想要传值给B ,就只要先在A中得到B的指针,然后将想要传的值赋给B,之后跳转, 话不

页面之间传值方式的总结,五种方式,通知,block,代理,单例,NSUERDEFALUT,

首先代码拿上 1:单例 2:通知 3:代理 4:block方法 5:NSUSERDEFAULT(沙盒文件) 先是单例类: .h文件 @interface DataSource : NSObject @property (nonatomic, strong) NSString *myName;//单例的属性,用于传值 +(DataSource*)sharedDataSource;//建立单例对象 @end .m文件 #import "DataSource.h" @implementati

ASP.NET页面之间传值

介绍: 在网页应用程序的开发中,页面之间的传值应该是最常见的问题了. 在这篇文章里,azamsharp 将为我们介绍一些ASP.NET页面传值的方式.本文所举的例子非常简单,仅仅包含了一个文本框和几个按钮,当按钮点击时文本框中的字符串将会以不同的方式传递到另外的页面去. 1. Response.Redirect (或称 Query String 方式.URL方式) 1 Response.Redirect("WebForm5.aspx");   首先让我们看看 Response.Redi

jsp页面之间传值乱码的问题解决方法(转)

终于解决了jsp页面之间的传值问题,总结如下: 源代码,a.jsp往b.jsp传值: a.jsp页面内容: <%@ page language="java" import="java.util.*" pageEncoding="GB2312"%> <form action="b.jsp"> name:<input type=text name=name> <input type=sub

我的项目3 js 页面之间传值

由于我的项目需要页面之间一些简单的数据传值,就用了一个简单的方法写了一下,和大家分享一下. 这就需要用到一个方法  如果大家想看的详细一些,可以去W3C去看,这里写一下链接http://www.w3cschool.cc/js/js-window-location.html 在index.html页面里写了以下代码,这里要传递的值:a=1 b=3 c=7 var myurl = "indexshouye.html" + "?" + "1=1"+&q