【问题标题】:iPhone : Simple UITableViewController crash without console error nor debugging clueiPhone:简单的 UITableViewController 崩溃,没有控制台错误,也没有调试线索
【发布时间】:2010-12-26 20:08:01
【问题描述】:

我正在尝试构建一个简单的 TableView 程序结构。 它似乎工作正常,但如果我将列表滚动到高或低,应用程序崩溃而没有任何控制台错误,并且跟踪到调试器也无济于事。

你可以自己看我放的项目:http://shine.free.fr/tmp/myTestApp.zip

你能帮帮我吗:

  • 知道哪里出了问题
  • 无需每次都询问即可知道如何找出问题所在。通常我检查我的连接,lokk 编译错误,查看控制台并尝试调试,但没有任何帮助。

感谢您的帮助

【问题讨论】:

    标签: iphone debugging uitableview console crash


    【解决方案1】:

    问题是您的 ListController 对象在从 nib 文件加载时没有保留,因此不能保证在 nib 加载后它会有效(实际上并非如此)。要解决您的问题,请为 ListController 属性添加一个出口并为其定义保留属性。这是解决您问题的FenetreListeController.h

    #import <UIKit/UIKit.h>
    
    @class ListeController;
    
    @interface FenetreListeController : UIViewController {
        IBOutlet ListeController* listController;
    }
    
    @property (nonatomic, retain) ListeController* listController;
    @end
    

    您还需要在 IB 中设置插座连接并在 .m 文件中合成属性

    有关如何从 xib 文件加载对象的更多信息,请查看“资源编程指南”中的 "The Nib Object Life Cycle" 部分

    【讨论】:

    • 在我的帖子之后搜索解决方案时,我尝试将两个 xib 编译为一个,而不更改代码中的任何内容。这很好用!呃?第二次尝试的源代码在shine.free.fr/tmp/myTestApp2.zip(只是添加了一点测试按钮。代码保持不变并编译了nib)。你能告诉我为什么应用程序在第一种方法中崩溃,而不是在第二种方法中吗?也许最重要的是,我如何在没有任何控制台错误或调试跟踪的情况下找到该问题的原因?
    • 对我最后的评论有任何想法吗?
    • 似乎(虽然我没有太多时间看)第二个有效,因为您在应用程序委托中为您的 FenetreController 保留了属性,因此它不会过早地被释放。很难说如何追踪这类错误,除了这种奇怪的崩溃很可能是由内存问题引起的,所以这是你应该看的方向......
    猜你喜欢
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-11
    相关资源
    最近更新 更多