首先不建议在登录成功后使用present的方式来弹出tabbarcontroller. 我的建议是在登录后,将window.rootController 重新指定,指定为tabbarcontroller. 这个操作可以通过在登录页面添加“通知”的方式,去通知appdelegate 去重置它的rootcontroller. 
感觉问题应该还是出在你对整个应用的组织上。如登录后跳转到tabbarcontroller ,再从某个控制器中退出。再登录这个过程

解决方案 »

  1.   


    多谢,感觉大家都是登录后将window.rootController 重新指定,但是我不太清楚重新制定window.rootController 会有什么好处?麻烦教一下,多谢。 
      

  2.   


    多谢,感觉大家都是登录后将window.rootController 重新指定,但是我不太清楚重新制定window.rootController 会有什么好处?麻烦教一下,多谢。 
    管理应用的结构布局更容易。 主要就是便于你组织你的应用结构,不用太关心它们之间是怎样来跳转的,如怎么显示登录,登录后如何显示登录后的主界面,在主界面中退出如何返回登录界面等
      

  3.   

    个人觉得,如果简单的想解决这个viewdidload问题没有执行的问题,我觉得可以吧数据更新的这部分写在viewwill appear 这个方法里面的,viewdidload只是在构造页面的时候使用。试试这样是否可行