美文网首页iOS Developer程序员
通过segue实现Storyboard回调传值

通过segue实现Storyboard回调传值

作者: 大哥带你去玩耍 | 来源:发表于2016-09-24 13:31 被阅读931次

最近一段时间在学习如何使用Storyboard,因为之前一直是使用纯代码来写,所以在使用Storyboard的时候碰到了一些问题。

今天我想实现如何从第二个控制器�返回到第一个控制器的时候如何回调传值。大家都知道在OC中回调常用的两种方法:一种是通过代理,另一种是通过block,而在Swift中也是同样的两种方法,只是block在Swift中换了另外一种叫法closure。但是使用Storyboard本来就想尽可能少得写代码,所以通过查阅一些资料找到了另一种回调方式,通过segue来进行回调 传值。

首先我们创建一个工程,然后添加一个SecondViewController文件:

Paste_Image.png

在Main.storyboard里面原来有一个UIViewController继承自ViewController,我们再拖进来一个UIViewController并继承自SecondViewController:

Paste_Image.png

然后我们给第一个ViewController里面添加一个UILabel来接收回调值和一个UIButton来跳转到第二个页面,给第二个ViewController添加一个UITextField里面是需要回调的值和一个UIButton来返回上一个界面:

Paste_Image.png

在ViewController添加一个getSegue方法:

@IBAction func getSegue(segue : UIStoryboardSegue){
 }

这时候你会发现再secondViewController的exit上多了一个方法,然后将这个方法与返回的button进行关联

Paste_Image.png

左边会出现一个Unwind segue,然后给这个segue设置identifier:

Paste_Image.png

给secondViewController里面的btn添加一个backTo的方法:

    @IBAction func backTo(_ sender: AnyObject) {
        performSegue(withIdentifier: "passValue", sender: nil)
    }

在ViewController里面getSegue方法添加获取回调的方法:

     @IBAction func getSegue(segue : UIStoryboardSegue){
            if segue.identifier == "passValue"{
              self.titleLabel.text = (segue.source as!       SecondViewController).textField.text
            }
      }

这下就完成了所有的回调操作,可以从secondView里回调到前一个ViewController的label里面。

相关文章

  • 通过segue实现Storyboard回调传值

    最近一段时间在学习如何使用Storyboard,因为之前一直是使用纯代码来写,所以在使用Storyboard的时候...

  • Segue与Unwind Segues

    使用Segue与Unwind Segues 实现的页面跳转,和回调,以及跳转传值。 UIPopoverPresen...

  • iOS-ViewController之间的传值

    一、控制器之间的正向传值:1、属性传值1.1、通过storyboard创建控制器//Segue定义:Storybo...

  • storyboard使用Segue传值

    1.新建两个控制器 选中两个控制器间的跳转箭头,给segue添加一个标识 在按钮响应事件里编写如下代码(响应事件实...

  • iOS Storyboard 用segue传值

    Storyboard上每一根用来界面跳转的线,都是一个UIStoryboardSegue对象(简称Segue) s...

  • React Native 传值方式

    界面与界面之间的传值 事件监听(通知) 事件回调(类与类之间的传值) 通过navigation带过去的参数实现事件...

  • 2018-01-01

    IOS基础-segue的使用 一、什么是segue 二、segue的使用 1.在storyboard中通过cont...

  • 4.IOS(swift)-ViewController·页面传值

    方法共有如下几种,例子中会分别用到 一.通过segue进行传值 二.通过delegate进行传值 三.通过Noti...

  • Fragment给Activity传值

    Fragment给Activity传值,是通过回调函数实现的。1、在fragment端,创建一个接口,并写一个方法...

  • iOS开发笔记 - segue传参

    当我们利用storyboard推出下一级界面时, segue完成了view之间的切换, 同时我们可以通过segue...

网友评论

    本文标题:通过segue实现Storyboard回调传值

    本文链接:https://www.haomeiwen.com/subject/sbsxyttx.html