跳转页面与传值(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)的主要内容,如果未能解决你的问题,请参考以下文章