下面介绍一种原界面向目标界面传值 和 两种 由目标界面返回值给原界面的方法

界面解释:

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之间的数据传输的更多相关文章

  1. 解析HTML、JS与PHP之间的数据传输

    在电商网站搭建过程中,前端经常会向后端请求数据,有时候通过HTML.JS和PHP文件的处理来实现数据的连通.通常情况下,用户在HTML中做关键字操作,JS对提交的表单进行数据处理,向后端发起ajax请 ...

  2. Pako.js压缩解压,vue压缩解压,前后端之间高效数据传输

    项目开发中常常会遇到前后端之间有大量数据传输占用带宽导致页面响应慢的问题,这时候我们可以考虑使用Pako.js对信息进行压缩之后传输. 我在前端使用的是vue-element-admin前端框架.框架 ...

  3. 用sessionStorage实现页面之间的数据传输

    1.sessionStorage主要含几种方法: //页面A:存放一个简单的字符串 sessionStorage.obj = '123'; //页面B:取到给obj var str = session ...

  4. 转:Java NIO系列教程(五) 通道之间的数据传输

    在Java NIO中,如果两个通道中有一个是FileChannel,那你可以直接将数据从一个channel(译者注:channel中文常译作通道)传输到另外一个channel. transferFro ...

  5. Java基础知识强化之IO流笔记76:NIO之 Channel(通道)之间的数据传输

    1. 在Java NIO中,如果两个通道中有一个是FileChannel,那你可以直接将数据从一个channel(译者注:channel中文常译作通道)传输到另外一个channel. (1)trans ...

  6. 在linux和本地系统之间进行数据传输的简单方法--lrzsz

    lrzsz是一款在linux里可代替ftp上传和下载的程序. >>提君博客原创  http://www.cnblogs.com/tijun/  << 提君博客原创 安装和使用非 ...

  7. Vuejs 用$emit 与 $on 来进行兄弟组件之间的数据传输

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. Java NIO系列教程(五) 通道之间的数据传输

    在Java NIO中,如果两个通道中有一个是FileChannel,那你可以直接将数据从一个channel(译者注:channel中文常译作通道)传输到另外一个channel. transferFro ...

  9. JAVA-4NIO之Channel之间的数据传输

    转载:自并发编程网ifeve.com 在Java NIO中,如果两个通道中有一个是FileChannel,那你可以直接将数据从一个channel(译者注:channel中文常译作通道)传输到另外一个c ...

随机推荐

  1. Tensorflow框架初尝试————搭建卷积神经网络做MNIST问题

    Tensorflow是一个非常好用的deep learning框架 学完了cs231n,大概就可以写一个CNN做一下MNIST了 tensorflow具体原理可以参见它的官方文档 然后CNN的原理可以 ...

  2. 【题解】Atcoder ARC#97 F-Monochrome Cat

    好zz啊我……(:д:) 首先我们可以删掉所有只有黑色节点的子树(一定不会遍历到), 且注意到每一个点你一定只会经过一遍.然后又考虑如果起点和终点相同,那么总次数实际上已经固定了:就是遍历整棵树(每一 ...

  3. 后缀自动机SAM学习笔记

    前言(2019.1.6) 已经是二周目了呢... 之前还是有一些东西没有理解到位 重新写一下吧 后缀自动机的一些基本概念 参考资料和例子 from hihocoder DZYO神仙翻译的神仙论文 简而 ...

  4. ARC072E Alice in linear land

    ---题面--- 题解: 首先我们要观察到一个性质,因为在固定的起始距离下,经过固定的操作,最后所在的位置是固定的,我们设经过操作1 ~ i之后所在的地方距离终点为d[i]. 那么如果女巫可以修改第i ...

  5. FPGA学习记录_设计一个计数器

    此处设计一个数器,使 学习板上 的 LED 状态每 500ms翻转一次. 学习板上晶振为50MHz,也就是说时钟周期为 20ns , 这样可以计算得出 500ms = 500_000_000ns/20 ...

  6. BZOJ2049:[SDOI2008]洞穴勘测——题解

    http://www.lydsy.com/JudgeOnline/problem.php?id=2049 https://www.luogu.org/problemnew/show/P2147 辉辉热 ...

  7. BZOJ2653:middle——题解

    http://www.lydsy.com/JudgeOnline/problem.php?id=2653 Description 一个长度为n的序列a,设其排过序之后为b,其中位数定义为b[n/2], ...

  8. Picture POJ - 1177 (线段树-扫描线)

    A number of rectangular posters, photographs and other pictures of the same shape are pasted on a wa ...

  9. Bigbluebutton服务执行过程及相关配置文件

    BigBlueButton服务列表 BigBlueButton由许多开源的服务组成,看似很麻烦,实际上拆分开每一个服务就很简单了,组件化平台化.究竟BBB都用到了哪些开源服务?我们来列举一下,名称均带 ...

  10. oracle 国外网站【转载】

    [转自]:http://www.2cto.com/database/201406/306615.html 1. http://www.oratechinfo.co.uk/ http://www.ora ...