我最近继承了一个相对较小的 iOS 应用程序的维护。该应用程序是由外部承包商创建的,几乎没有指导和监督。不用说它需要“一点”清洁 - 我正在评估是否重做整个事情。
让我难过的一件事是应用程序崩溃,调试器显示“应用程序应在应用程序启动结束时具有 Root View Controller ”。在发生这种情况的模块中,我研究了所有 UIView 以确保它们是使用父 View 创建的(addSubView 设置 Root View Controller ,对吧?)——这看起来很原始和正确。
作为 XCode 的新手,我不熟悉帮助我弄清楚这里可能发生的事情的工具。例如,如何快速查看/调查模块创建的所有 UIView 的状态?我怎样才能“观察”一个变量,以便在它发生变化时得到提醒?总的来说,是否有最佳策略可用于解决我上面描述的问题?
抱歉保持有点含糊,但我不认为发布一堆丑陋的代码可以帮助您更好地理解问题:-)
最佳答案
当应用程序的 UIWindow 在完成启动时其 rootViewController
属性没有值时,就会出现该特定问题。查看您的应用程序委托(delegate)文件 - 通常, Root View Controller 设置在该窗口上。
关于更一般的问题:有多种方法可以在程序运行时检查程序的状态。转储一些信息的一种非常基本的方法是使用 NSLog
语句 - 您可以使用与 C printf
相同的方式将消息打印到控制台。您还可以在应用程序中设置断点并使用调试器检查不同的变量 - 请查看 lldb 文档以获取更多信息。
关于ios - 使用 'dangling UIViews' 调试 iOS 应用程序的好策略是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12586864/