【问题标题】:UITableview freeze the app while scrollingUITableview 在滚动时冻结应用程序
【发布时间】:2010-10-20 09:27:12
【问题描述】:

伙计们, 在我的应用程序中,我使用 tabbarcontroller、导航控制器和 tableview 控制器的组合。

应用的视图层次结构是

  UITabBarController
             |
             |_ UINavigationController
                    |
                    |_ UITableView
                           |
                           |_ UITableView
                                  |
                                  |_ UIViewController

在第一个 tableview 中,一切正常。但是在第二个表格视图中,当我尝试向上/向下滚动时,应用程序只是冻结了。有时它会崩溃。当它崩溃时,它说 EXC_BAD_ACCESS。实际上我已经自定义了单元格的内容,将背景图像和图标标签的文本从 xml 中解析并存储在 NSMutableArray 中,该数组是一个带有保留的属性。这个bug真让我抓狂。

非常感谢您的帮助!!!!

【问题讨论】:

  • 你是在把一个 TableView 放在另一个 TableView 里面吗?
  • 不,当我选择像 [self.navigationController pushViewController:secondTableView animated:YES] 这样的单元格时,我只是推送 tableview;
  • 您应该发布第二个表格视图的代码,尤其是自定义部分。可能是自定义对象有问题。
  • 您是否在 -cellForRowAtIndexPath: 方法中的某个地方从网络上实时加载图像?如果是这样,您可能想尝试异步加载它们。这可能会导致您的表格滚动缓慢...

标签: iphone objective-c uitableview


【解决方案1】:

我认为您的问题在于您放入 UITableView 的数据。

你检查过一些 NSLogs 里面有什么吗?

您使用的是大图吗?还是很长的文字?

【讨论】:

  • 图像分辨率为 320 X 100,大小为 4kb。没有长文。在创建表 NSLog 时打印所有内容。当我尝试打印选择的单元格内容时,它只打印 NULL。
  • 如果您将基本单元格设置为 Hello World 而没有图像。一样的 ?也许你可以给我们一些慢的类的代码^^
【解决方案2】:

最常见的原因是你放入表格的次数较少例如。如果你的数组有10个项目并且你返回11个项目就会崩溃。请发布表格的源代码以便找到问题.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多