ios开发之Modal切换场景遇到的bug2

项目场景:

在这里插入图片描述

场景描述:

  • View 1中的email label 的内容需要显示在View 2的TextFiled中,点击Edit按钮切换页面;
  • View 2的TextField修改email内容后,点击Finished按钮返回View 1中,改变email Label的内容。

问题描述:

  1. 如下图所以:
  • 当在viewDidLoad中设置View 2 的TextField内容时候,返现presentingViewController(即View 1)为nil,无法获取View 1中的email Label的内容;
- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    // 前一个页面
    self.emailField.text = ((ViewController *)self.presentingViewController).emailLabel.text;
}
  1. 方法查看Quick Help Inspector 中的Discussion
    在这里插入图片描述

原因分析:

如图所示:
  • 原文地址StackOverflow
    在这里插入图片描述
  • 结合以上文档描述,viewDidLoad确保了nib文件加载到了内存中,而还没有确保加载到navigation tree上,建议上面逻辑放在viewWillAppear上.

解决方案:

  • 正确渲染成功
- (void)viewWillAppear:(BOOL)animated{
    // 前一个页面
    self.emailField.text = ((ViewController *)self.presentingViewController).emailLabel.text;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值