2011-01-26 58 views
2

我有一个表格视图与自定义单元格。每个单元格都有图像和文本,并且正在侦听通知。任何人都知道如果在内存中分配一个单元格作为模板会更好,然后复制基本布局,而不是每次需要创建单元时分配一个新实例?我必须测试,但我很懒惰:)谢谢。性能问题alloc vs copy

回答

0

UITableViewCell没有实现NSCopying协议,因此您必须自己在自定义子类中实现它。所以如果你打算写出你自己的-copyWithZone:的实现,那么问题是代码如何比你现在正在做的更有效率?

+0

是的,我想我将不得不测试并比较两个版本。我需要提高执行的性能,涉及到几件事。当我重新设计它时,我只是想到了这一点,我决定在尝试之前先询问一下。我会回到我的结论。 – Jorge 2011-01-26 23:49:44

1

在您创建单元之前,您应该在UITableView上调用dequeueReusableCellWithIdentifier:并检查它是否为nil。如果是,请用initWithStyle:reuseIdentifier:创建新的单元格。确保所有单元的重用标识符都相同,前提是它们都具有相同的布局。这是苹果为处理你描述的这个问题而规定的标准方式。

看一看herehere了解更多详情。

+0

感谢您的回答,但我的问题在于单元格的创建。我已经在渲染表视图之前创建了单元,所以我只返回与我的数组上的索引相匹配的元素。 – Jorge 2011-01-26 23:42:09