从一个ViewController 跳转到另一个ViewController 时遇到的问题

来源:互联网 发布:java字符转数字 编辑:程序博客网 时间:2024/05/16 08:57

在开发登录模块时遇到的,在用户点击我的账户的时候,判断登录状态,未登录跳转到登录界面,想用的是presentViewController 这个函数。

结果出现了警告:

Presenting view controllers on detached view controllers is discouraged

然后写了一个小Demo,测试从controller A 跳转到 controller B,结果又遇到了另外一个问题:

whose view is not in the window hierarchy


以前使用xcode6.4开发的时候,并没有发现这些问题,结果换了xcode7.0之后,遇到了,应该是苹果对代码的严谨性又加强了吧。

通过查资料以及在网上看大家的讨论,又结合自己的代码,分析问题得:

controller A的 viewDidLoad(或者 viewWillAppear)里面直接跳转了 controller B,导致在显示 controller B 的同时也调用了 controller A 来显示,结果这个window的层次结构就乱了。


问题解决:

在controller A 跳转的时候,要在viewDidLoad 以及 viewWillAppear 之后才能跳转,把跳转的代码放到 viewDidAppear 中就可以了。


仅是自己的猜测及实验,如有问题请大家指正!


0 0
原创粉丝点击