ios - viewDidLoad 被调用了两次

标签 ios uiviewcontroller uikit viewdidload viewcontroller-lifecyle

我在 View Controller 中的 viewDidLoad 被调用了两次。一次通过 [UIViewController View],第二次通过 [UINib instanciateWithOwner:Options]。为什么会这样?可以预防吗?

最佳答案

您放入 viewDidLoad 中的任何代码都应该能够运行多次而不会出现任何问题。如果您的代码只需要为您的 Controller 运行一次,请使用 -awakeFromNib .原因是因为 View Controller 的 View 可以多次卸载和加载。 viewDidLoad 中的代码应该只修改 UI 以反射(reflect)当前状态。

现在我已经解决了这个问题,您的特定问题看起来是一个错误。参见 Ned's answer .

关于ios - viewDidLoad 被调用了两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7079602/

相关文章:

ios - 使用 Google maps iOS sdk 快速创建自定义信息窗口?

ios - 通过在 ios sdk 中添加行来格式化 UITextView 的目的

objective-c - 在 iOS 上舍入 NSDate 的正确方法是什么?

ios - 在 addSubview 期间奇怪地复制 UIView

swift - 是否可以在运行时在 Swift 中动态执行深度属性比较?

ios - 强制在 x 轴上显示最小值/最大值

ios5 - 为 iOS 实现 Google Analytics

ios - 无法识别的选择器发送到实例,将按钮连接到 View Controller 后出现 Storyboard 错误

ios - 从 View Controller 传递的数据返回 null

ios - TVOS UITableViewCell _UIFloatingContentView 它是什么以及用途是什么?