iOS 7 Storyboard调试建议

标签 ios debugging instruments

我正在使用 Storyboards 和 iOS 7 开发 iPhone 应用。

出于某种原因,从一个屏幕推送到下一个屏幕需要 3 秒,我根本不知道如何调试它。

我知道这是一个非常笼统的问题,但能否就我应该注意什么或我需要使用哪些工具来改善用户体验提出建议。

在 2 个 View Controller 中没有发生任何“繁重”的事情。头文件中实际上有一个协议(protocol),允许将数据发回。

如有任何帮助,我们将不胜感激。

谢谢。

--

添加更多细节:

在我的 Storyboard中。在 View A 中,我有一个按钮。从那个按钮我已经拖到 View B 并创建了一个推送 segue。 在 View A 中,我也有方法:

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
     if([segue.identifier isEqualToString:@"page2topage3"]){
        FormPage3ViewController *controller = (FormPage3ViewController *)segue.destinationViewController;
        controller.userData = _userData;
        //This is for the delegate to pass back the array
        controller.delegate = self;
    }

}

最佳答案

目标 View Controller 可能需要很长时间才能实例化。在这种情况下, FormPage3ViewController。检查您的 -init 方法。

如果不是这样,找出正在发生的情况的最佳选择是使用 Instruments。使用 cmd+i 从 Xcode 启动它。选择“时间分析器”。等待几秒钟,直到应用程序完全完成启动并运行导致执行 segue 的操作。您应该看到类似这样的内容:

Instruments Activity

segue 执行完毕后,您可以告诉 Instruments 停止录制。之后,通过单击时间轴并使用检查范围按钮选择感兴趣的区域,直到出现如下所示:

Instruments Inpection Range

确保扩展详细信息 View 处于事件状态。它是右侧的一个面板,可以通过单击红色标记的按钮来激活:

Instrument Views

并选择列表中的第一个线程:

Thread List

在扩展的详细 View 中,您应该会看到执行 segue 时发生的最重的堆栈跟踪,这应该让您很好地了解可能发生的情况。单击扩展详细信息中的黑色项目(您的代码)以查看线程列表的更多详细信息,或双击直接进入代码行:

Extended Detail View

关于iOS 7 Storyboard调试建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22135861/

相关文章:

android - 如何在 Facebook 应用内消息中实现深度链接

ios - itunes connect - 不包含正确的测试版权利

java - Eclipse调试java源,不列出源类的成员变量

android断点错误eclipse

ios - Xcode Instruments 分配中的所有堆分配和所有匿名分配是什么?

ios - 为什么通过在 TYPE UIView 上调用 .animate() 来触发动画

ios - 在后台/屏幕外加载 WKWebView

c++ - `myLibrary!__scrt_stub_for_is_c_termination_complete+0x12345`是什么符号

ios - 仪器停止在 iPhone 应用程序上工作

ios - 使用 Instruments 通过 SSH 启动自动化测试