【问题标题】:UITableViewController crashes silently without errorUITableViewController 无声无息地崩溃
【发布时间】:2025-12-10 05:55:02
【问题描述】:

我是 iPhone 应用程序开发的新手,所以请耐心等待。

我有一个 UITableViewController,它使用 API 调用获取一组私人消息线程。

我正在获取 viewDidLoad() 中的线程,它已成功存储到我的 PMThreads 类属性中。然而,应用程序只是在没有将每个线程加载到 tableView 之后静默崩溃。

这是我的代码:https://gist.github.com/884683

请指教。提前致谢。

【问题讨论】:

    标签: ios objective-c uitableview cocoa-touch uikit


    【解决方案1】:

    你不应该释放你从 NSURLConnection 请求中收到的数据。 试试看!

    /卡勒

    【讨论】:

    • 不幸的是,这没有帮助:(
    【解决方案2】:

    所以我想通了。这与所有权或保留数据无关。 我不正确地做了我的xib文件。

    在我的例子中,我在 xib 文件中放置了一个 UITableViewController,而不是 UITableView。因此,如果有人有类似经历,请检查您的数据所有权以及您的 xib 文件。

    【讨论】:

      【解决方案3】:

      使用构建和调试运行您的应用。发生崩溃时,打开调试器控制台 (Cmd-Shift-R) 并键入 bt。从调试器控制台复制回溯(键入“bt”后的所有内容)。在此处编辑您的消息并粘贴回溯。

      【讨论】:

        【解决方案4】:

        正如发布的那样,您将发布消息发送到数据,您甚至不拥有该对象。它目前在一个自动释放池中。没有所有者(即没有保留任何内容)。

        继续阅读:http://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/MemoryMgmt/Articles/mmPractical.html

        您的版本应该等于您的 (retain/alloc/copy)。

        【讨论】:

        • 请赐教:为什么数据需要保留在内存中?我已经在我的类属性中加载了 API 结果。这还不足以在整个班级中保持其生命周期吗?