UITableVIew,cellForrowatIndexPath:失控

时间:2012-11-17 14:00:22

标签: iphone ipad uitableview

行。我是一个经验丰富的iOS开发人员,我总是偶然发现的一个问题是如何在一个漂亮的mannor中填充tableview。 如果你的应用程序是只有一个tableview的成千上万的瘦应用程序之一,你可以使用cellForRowAtIndexPath:datasource-method和几个if()子句。

但我正在维护的应用程序非常庞大,并且有很多动态单元按顺序改变并且设计你最终会得到一个完全油腻的if() - heirachy,没有人 - 甚至你的自己 - 可以保持从长远来看。

所以我决定开始一个想法来解决这个混乱的东西。所以任何想法都是很好的投入。

一个想法可能是创建一个UITableViewCells集合,并只在cellForRowAtIndexPath中查询该集合:。

另一个想法可能是建立一个你想要的树的整个对象图,查询到它并有一个工厂类来根据当前对象构建你的UITableViewCell。

请让我听听你是如何在你的应用程序中解决这个问题的 - 以及解决方案从长远来看如何运作。欢迎Pro和Con's: - )

1 个答案:

答案 0 :(得分:1)

Stackoverflow不是一个论坛(可以找到合适的线程和讨论),而是一系列面向编程的问题。

FAQ的第二部分

中获取此声明
  

如果你提出问题的动机是“我想参加关于______的讨论”,那么你不应该在这里问。

如果你想了解大量关于你的问题的想法,也许Stackoverflow的chatrooms会是一个更好看的地方 - 或者,在其他部分有几个论坛互联网将成为讨论这个话题的理想场所。

但是,如果您只是想要以更有条理的方式管理动态UITableViewCell的单一方式,则可能需要编辑帖子以提示答案而不是讨论。在哪个主题上,我从来没有使用过多的动态单元格,但是对于少量,我觉得创建其他功能(例如

- (UITableViewCell *)tableView:(UITableView *)tableView cellType1ForRowAtIndexPath:(NSIndexPath *)indexPath

)如果我理解正确的话,处理这些细胞的创建工作正常。我已经使用了一个系统cellForRowAtIndexPath只是对其他函数进行多次调用,虽然它可能不是组织代码的最佳方法,但它确实比尝试在一个函数中包含所有内容有了重大改进。 :)