跳转页面与传值(Swift4)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了跳转页面与传值(Swift4)相关的知识,希望对你有一定的参考价值。

参考技术A 使用storyboad连接方式,当一个页面viewController1跳转到另一个页面ViewController2的时候,可以用present的方式进行,但是传值的时候,如果是ViewController2中有@IBOutlet的控件的时候,此时ViewController2还未启动viewDidLoad(),所以,控件为nil,无法直接操作控件,并且因为这些控件是声明为weakde,也无法在外部初始化。

此时有两个方法可以给控件传值,以UILabel为例:
第一种方法:先调用loadView()方法,此时第二个界面就会启动viewDidLoad(),这样就可以给ViewController2的控件传值了,如下:

第二种方法:通过查看别人的博客,发现普通的变量是可以传值的,不受到影响,那么我们可以在ViewController2中声明合适的变量,然后在viewDidLoad()中赋值给控件类型即可,如下

两种方法都可以达到相同的效果

【2020.7.27更新】
在使用过程中,发现使用第一种方法无法对viewController2的控件进行事件响应处理,比如UIButton的点击事件等等,原因还未清楚,等待后续探查

以上是关于跳转页面与传值(Swift4)的主要内容,如果未能解决你的问题,请参考以下文章

HTML页面之间跳转与传值(JS代码)

Android中实现activity的页面跳转并传值

Android学习之Activity跳转与传值

PHP 表单用post传值不了 跳转出现空白页。。

1.1Activity跳转与传值

Angular2 路由跳转与传参