2011-01-12 68 views
0

在我的应用程序中,我有一个产品对象的详细屏幕。用户界面要求使用具有3个部分的分组表格视图类型界面来显示产品详细信息。为非统一数据定义UITableView的单元格

此表中的一些单元格是有条件的。例如,默认情况下,第三部分应该显示一个名为“注册产品”的单元,并且在点击时应该推送注册视图。如果产品已经注册,则第三部分应改为显示两个单元格用于保修,另一个用于维修信息。点击时,这些将分别进入不同的屏幕。而且,他们都需要在表格单元上显示某种数据。保修单元说明保修何时到期,维修单元何时说明下次维修到期。

问题(finnally):什么是定义表格在任何给定情况下应具有的单元格和部分的最佳方式。主要是我正在寻找一种可维护的方式来做到这一点,因为我已经有一些关于不可维护的方法来做到这一点。

基于显示的产品,我应该在viewWillAppear期间创建某种键控字典并添加/删除项目吗?我很担心在各种tableView事件中我必须使用的Switch语句数来检查给定索引路径中的单元格类型。

任何想法?

回答

0

看一看Matt Gallagher's Tableview Classes。他们为可自定义的Tableviews提供了一个简单且可扩展的框架。细胞可以从NIB加载或以代码构建。有一个简单的界面来为每个单元提供数据(- (void)configureForData:(id)dataObject)。

填充泰伯维很简单:

[self addSectionAtIndex:0 withAnimation:UITableViewRowAnimationNone]; 
[self appendRowToSection:0 
    cellClass:[NibLoadedCell class] 
    cellData:@"This is row 0" 
    withAnimation:UITableViewRowAnimationLeft]; 

对于数据的持久化存储,我建议创建一个的plist字典和负载/从那里保存数据。见Property List Programming Guide。对于复杂的数据库结构,使用核心数据存储。

相关问题