我知道加载新屏幕时会调用viewDidLoad。 假设我有2个屏幕:屏幕1(主屏幕)和屏幕2。 当应用程序启动时,调用屏幕1的viewDidLoad。这是正确的。 我面临的问题是,当我按下按钮移动到屏幕2时,再次调用屏幕1的viewdidload。 之后调用屏幕2的viewDidLoad。
为什么在按下按钮时再次调用屏幕1的viewDidLoad?
P.S我知道没有内存问题,因为我一直在开发应用程序。这个问题在以前的应用程序中不存在,因为我现在运行它们但是我创建的每个新应用程序都有这个问题。 此外,我正在使用故事板和Xcode 5。 我已经尝试过push和modal来移动到下一个屏幕。
答案 0 :(得分:1)
我只是犯了一个愚蠢的错误。
实际上在创建第二个视图控制器的过程中,它有些(意外地)成为了第一个视图控制器的子节点,而不是UIViewController。这就是为什么当我点击按钮移动到下一个视图时。它转到第二个视图控制器的viewDidLoad,其中调用方法[super viewDidLoad],再次在第一个屏幕上调用viewDidLoad方法。
这是一个非常愚蠢的错误。但是只是分享它以便它可以帮助其他人。