sense之间的数据传输
下面介绍一种原界面向目标界面传值 和 两种 由目标界面返回值给原界面的方法
界面解释:
a界面和b界面都在导航控制器中,
a界面触发时间跳转至b界面,b界面上设定完毕数据后返回a界面
a界面:原界面
b界面:目标界面
一. 像目标界面传值:
1.定义seque的标示
2.在原界面对象中利用prepareForSegue方法判断当前是seque的标示并获得目标界面的对象,像目标界面对象设定值
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
// 时间选择seque定向
if ([segue.identifier isEqualToString:@"DateSelecter"]) {
TimeTableTableViewController *destViewController = segue.destinationViewController;
destViewController.itemModel = self.itemModel;
}
}
二.有目标界面返回值
第一种:利用Unwind方式
1.在原界面中定义Unwind方法:其中方法名称自己指定
- (IBAction)saveTime:(UIStoryboardSegue *)segue
{
TimeTableTableViewController *source = [segue sourceViewController];
ItemModel *item = source.itemModel;
// 如果是nil则不做任何处理
if (item == nil) {
return;
}
}
2. 在目标界面中按住ctl按键鼠标从controller图标(下图为时间设置图标)拖动至exit图标,然后选择对应Unwind方法

3.设定此seque的标示,此处为doneForTimeSelect
4. 在目标界面我们可能需要做一些检查然后才能返回值给原界面,所以新增触发检查的事件,入股通过则根据seque标示启动seque。
例如:这里一个按钮事件关联到save事件方法上
- (IBAction)save:(id)sender {
NSString *message = [self.itemModel isDateInvaild];
if (nil == message)
{
[self performSegueWithIdentifier:@"doneForTimeSelect" sender:self];
}
else
{
[Utils showMessage:message];
}
}
第二种:利用协议
其实就是增加一个协议,在目标界面对象中利用此协议声明变量,然后在prepareForSegue方法中将整个原界面传给此变量,从而可以在目标界面对象中对原界面对象进行操作了。
sense之间的数据传输的更多相关文章
- 解析HTML、JS与PHP之间的数据传输
在电商网站搭建过程中,前端经常会向后端请求数据,有时候通过HTML.JS和PHP文件的处理来实现数据的连通.通常情况下,用户在HTML中做关键字操作,JS对提交的表单进行数据处理,向后端发起ajax请 ...
- Pako.js压缩解压,vue压缩解压,前后端之间高效数据传输
项目开发中常常会遇到前后端之间有大量数据传输占用带宽导致页面响应慢的问题,这时候我们可以考虑使用Pako.js对信息进行压缩之后传输. 我在前端使用的是vue-element-admin前端框架.框架 ...
- 用sessionStorage实现页面之间的数据传输
1.sessionStorage主要含几种方法: //页面A:存放一个简单的字符串 sessionStorage.obj = '123'; //页面B:取到给obj var str = session ...
- 转:Java NIO系列教程(五) 通道之间的数据传输
在Java NIO中,如果两个通道中有一个是FileChannel,那你可以直接将数据从一个channel(译者注:channel中文常译作通道)传输到另外一个channel. transferFro ...
- Java基础知识强化之IO流笔记76:NIO之 Channel(通道)之间的数据传输
1. 在Java NIO中,如果两个通道中有一个是FileChannel,那你可以直接将数据从一个channel(译者注:channel中文常译作通道)传输到另外一个channel. (1)trans ...
- 在linux和本地系统之间进行数据传输的简单方法--lrzsz
lrzsz是一款在linux里可代替ftp上传和下载的程序. >>提君博客原创 http://www.cnblogs.com/tijun/ << 提君博客原创 安装和使用非 ...
- Vuejs 用$emit 与 $on 来进行兄弟组件之间的数据传输
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Java NIO系列教程(五) 通道之间的数据传输
在Java NIO中,如果两个通道中有一个是FileChannel,那你可以直接将数据从一个channel(译者注:channel中文常译作通道)传输到另外一个channel. transferFro ...
- JAVA-4NIO之Channel之间的数据传输
转载:自并发编程网ifeve.com 在Java NIO中,如果两个通道中有一个是FileChannel,那你可以直接将数据从一个channel(译者注:channel中文常译作通道)传输到另外一个c ...
随机推荐
- hadoop 使用Avro排序
在上例中,使用Avro框架求出数据的最大值,本例使用Avro对数据排序,输入依然是之前的样本,输出使用文本(也可以输出Avro格式). 1.在Avro的Schema中直接设置排序方向. dataRec ...
- wmware的vmnet0、vmnet1、vmnet8
用vmware安装虚拟机后会出现三种网卡: 1.vmnet0:桥接网卡,虚拟机相当于一台实体机,可以自用访问与被访问及上网. 在桥接模式下,VMware虚拟出来的操作系统就像是局域网中的一独立的主机, ...
- UVA.10305 Maximum Product (暴力)
UVA.10305 Maximum Product (暴力) 题意分析 直接枚举起点和重点,然后算出来存到数组里面,sort然后取最大值即可. 代码总览 #include <iostream&g ...
- HDOJ(HDU).3466 Dividing coins ( DP 01背包 无后效性的理解)
HDOJ(HDU).3466 Dividing coins ( DP 01背包 无后效性的理解) 题意分析 要先排序,在做01背包,否则不满足无后效性,为什么呢? 等我理解了再补上. 代码总览 #in ...
- YBT 5.4 状态压缩动态规划
#loj 10170. 「一本通 5.4 例 1」骑士 看数据范围n<=10,所以不是搜索就是状压dp,又因为搜索会超时所以用dp dp[i][k][j]表示现已经放到第i行,前面共有k个,这一 ...
- [iptables]iptables 添加log到syslog
比如iptables本来有这么一条: -A PREROUTING -d 125.65.27.xxx/32 -p tcp -m tcp --dport 11060 -j DNAT --to-destin ...
- python升级引发的问题总结
http://www.cnblogs.com/ajianbeyourself/p/4214398.html http://www.cnblogs.com/hanggegege/p/6993003.ht ...
- swiper 、css3制作移动端网站,折叠导航
swiper .css3制作移动端网站,折叠导航 前几天公司要更新改版移动端的官网,由于网站本身没有多少内容,所以设计师就做成了整屏滑动的样子,起初我并没有看设计稿就一口答应了,拿到手后发现了几个问题 ...
- ES6数组的扩展运算符
一.基本使用 ES6中函数可以使用 rest参数 接收函数的多余参数,组成一个数组,放在形参的最后面. let fn = (a, ...value) => { console.log(a); c ...
- [LeetCode] 3. Longest Substring Without Repeating Characters ☆☆☆
Given a string, find the length of the longest substring without repeating characters. Examples: Giv ...