当前位置: 首页 > 编程笔记 >

iOS 使用展开来向后传递数据

徐卓
2023-03-14
本文向大家介绍iOS 使用展开来向后传递数据,包括了iOS 使用展开来向后传递数据的使用技巧和注意事项,需要的朋友参考一下

示例

与segue相比,segue允许您将数据从当前视图控制器“转发”到目标视图控制器:

(VC1)->(VC2)

使用“展开”,您可以执行相反的操作,将数据从目标或当前视图控制器传递到其呈现视图控制器:

(VC1)<-(VC2)

注意:请注意,使用展开功能可让您先传递数据,然后再传递当前的视图控制器(VC2)。

方法如下:

首先,您需要在当前的视图控制器(VC1)处添加以下声明,这是我们要将数据传递到的视图控制器:

@IBAction func unwindToPresentingViewController(segue:UIStoryboardSegue)

重要的是使用前缀unwind,此“通知” Xcode这是一种展开方法,您也可以选择在情节提要中使用它。

之后,您将需要实现该方法,它看起来与实际的segue几乎相同:

@IBAction func unwindToPresentingViewController(segue:UIStoryboardSegue)
{
    ifsegue.identifier== "YourCustomIdentifer"
    {
        if let VC2 =segue.sourceViewControlleras? VC2
        {
            //    您的自定义代码在这里访问VC2类成员
        }

现在,您有2个选项来调用展开调用:

  1. 您可以“硬编码”调用:self.performSegueWithIdentifier("YourCustomIdentifier", sender: self),它会在您需要时为您解散performSegueWithIdentifier。

  2. 您可以使用将该取消链接方法链接storyboard到您的“退出”对象:ctrl +拖动要调用该取消链接方法的按钮,将其链接到“退出”对象:

释放,您将可以选择自定义展开方法:

 类似资料:
  • 我在使用thymeleaf 3将参数从html传递到spring mvc 4控制器时遇到了麻烦。 我还有一个类Currency,它带有字段“id”和“name”,以及它们的getter和setter。现在使用这段代码,我得到一个错误: 严重:路径为[]的上下文中servlet[dispatcher]的servlet.service()引发异常[请求处理失败;嵌套异常为org.thymeleaf.e

  • 本文向大家介绍iOS实现两个控制器之间数据的双向传递,包括了iOS实现两个控制器之间数据的双向传递的使用技巧和注意事项,需要的朋友参考一下 本文为大家分享了iOS控制器之间数据的双向传递,供大家参考,具体内容如下 首先,有两个控制器,分别为控制器A、控制器B。 A->B:数据由控制器A传向控制器B,这叫做数据的顺传;数据由控制器B传向控制器A,这叫做逆传。 顺传:一般通过创建目标控制器对象,将数据

  • 目前,我有问题与传递多个纹理到一个glsl着色器在iOS。 在渲染中,想要的纹理被绑定到制服上 我在这里一直使用GL_TEXTURE0和GL_TEXTURE1,因为当纹理(实际上是来自iPhone摄像头的luma和Chroma纹理,最终用于计算相应的rgb值)被创建时,这些textureLots被使用。 我使用的fragmentshader非常简单,它只是用给定的纹理对一个简单的屏幕填充四方进行纹

  • 本文向大家介绍iOS开发中使用FMDB来使程序连接SQLite数据库,包括了iOS开发中使用FMDB来使程序连接SQLite数据库的使用技巧和注意事项,需要的朋友参考一下 一、简单说明 1.什么是FMDB FMDB是iOS平台的SQLite数据库框架 FMDB以OC的方式封装了SQLite的C语言API 2.FMDB的优点 使用起来更加面向对象,省去了很多麻烦、冗余的C语言代码 对比苹果自带的Co

  • My mainactivity.xml:包括一个textview和ListView。 我的问题是如何使用ArrayAdapter将响应从volley传递到listview?

  • 我正在尝试将参数传递给作为参数传递的函数指针。 代码: 我得到了这个错误: 类型"void"的参数与类型"void(*)(wchar_t*,wchar_t*)"的参数不兼容 如何解决此问题以完成我想要实现的目标? 编辑:对不起,不清楚。我实际上试图完成的是将函数注入子进程并传递两个参数(wchar_t*、wchar_t*),以便我可以使用它们。但主函数可以是void或int argc、char**