美文网首页
跳转页面与传值(Swift4)

跳转页面与传值(Swift4)

作者: 忘西昭 | 来源:发表于2020-07-23 16:45 被阅读0次

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

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


    第一种方法
    展示效果1
    展示效果2

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


    第二种方法1
    第二种方法2 展示效果3
    展示效果4

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

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

    相关文章

      网友评论

          本文标题:跳转页面与传值(Swift4)

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