是否有其他人在 Xcode 4 中遇到 viewDidLoad
被调用两次的问题?我在 Xcode 3.2 和 Xcode 4 中运行了同一个项目,但它只在 Xcode 4 中起作用。
最佳答案
在 Apple Developer forums 上对此进行研究后,似乎在某些情况下 Xcode 4 会创建有问题的 Interface Builder NIB。结果是应用程序的 rootViewController 被加载了两次,这真的把事情搞砸了。在 Xcode 3 中加载的相同项目不会出现此问题。
在我的通用应用程序中,它只影响 iPad NIB。 iPhone 很好。
我能够通过以下方式解决这个问题:
- 在 Interface Builder 中删除 rootViewController 连接(这会导致应用加载
window.rootViewController = nil
) - 在主 Controller (被加载两次的那个)的 viewDidLoad 中,我然后手动分配
appDelegate.window.rootViewController = self
到目前为止,这似乎达到了预期的效果。
关于iphone - Xcode 4 - viewDidLoad 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5278465/