viewDidAppear 目标 C 中的不一致行为

问题描述 投票:0回答:2

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

我可以知道造成这个问题的确切原因吗?

提前致谢

objective-c uiviewcontroller crash viewdidappear
2个回答
0
投票

从报错信息看来,你是在调用

viewDidAppear:
。永远不要那样做(除了从你的实现中调用 super )。它是一个由运行时而不是你调用的事件方法。这就是错误消息告诉你的内容。

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


0
投票

不能自己调用

viewDidAppear:
方法

而是将您拥有的任何代码放入

viewDidAppear:
并重新定位到您自己定义的新方法。然后你可以调用那个方法就像你现在调用
viewDidAppear:
:)

© www.soinside.com 2019 - 2024. All rights reserved.