viewDidAppear 目标 C 中不一致的行为

Inconsistent behavior in viewDidAppear Objective C

提问人:Senthil 提问时间:4/10/2023 最后编辑:Joakim DanielsonSenthil 更新时间:4/11/2023 访问量:344

问:

[视图控制器]不支持直接在视图控制器上调用 -viewDidAppear:,这可能会导致无序回调和其他不一致的行为。请改用 UIViewController 上的 -beginAppearanceTransition:animated: 和 -endAppearanceTransition API 手动驱动外观回调。在 UIViewControllerAlertForAppearanceCallbackMisuse 处创建符号断点,以在调试器中捕获此断点

我可以知道导致此问题的确切原因吗?

提前致谢

Objective-C UIViewController 崩溃 ViewDidAppear

评论

0赞 Larme 4/11/2023
你只能调用方法本身的重写来调用它的 super:,如果你在其他地方调用自己,你会得到该消息。没有代码很难分辨。viewDidAppear:[super viewDidAppear:animated];viewDidAppear:

答:

0赞 matt 4/10/2023 #1

从错误消息来看,您似乎正在调用 .永远不要这样做(除非从你的实现中调用 super)。它是由运行时调用的事件方法,而不是由你调用。这就是错误消息告诉您的内容。viewDidAppear:

如果由于某种原因,您不知道如何在犯此错误的位置找到代码,则错误方法还会告诉您如何设置断点以在发生断点时找到它。

0赞 CTABUYO 4/11/2023 #2

不能自行调用该方法。viewDidAppear:

取而代之的是,把你拥有的任何代码放在里面,然后重新定位到你自己定义的新方法。然后,您可以像现在调用:)一样调用该方法viewDidAppear:viewDidAppear: