uitableview如何动态解析多个单元格的数据

时间:2017-07-14 05:10:01

标签: ios objective-c

请建议我如何显示树视图等数据。

-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    return marrSearchResult.count;

}

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
   int iCount=0;

    if (section==0) {

        iCount =(int)[marrSearchResult count];
    }else if(section==1){

        iCount =(int)[[[[marrSearchResult objectAtIndex:section] valueForKey:@"data"] valueForKey:@"result"] count]+1;
    }else{

    }
}
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{

    static NSString *simpleTableIdentifier = @"MyTravelProfileTblCELL";

    if (indexPath.section == 0) {
    }else{
    }
}

请参阅下面的图片desplay,像这样 enter image description here

2 个答案:

答案 0 :(得分:2)

请按照以下步骤操作:

  • 为章节标题创建自定义tableview单元格(旅游景点,政府/社区)。让我们称之为PlaceTypeCell
  • 为行创建另一个自定义tableview单元格(博物馆,医院......)。让我们称之为PlaceNameCell。
  • 将部分计数作为主数组的计数(您已经完成)返回
  • 将行计数作为主数组中部分索引处的子数组的计数返回(也就是这样做了)
  • 现在在cellForRowAtIndexPath中,根据部分编号(indexPath.section)从main获取子数组。现在使用行号(indexPath.row)从子数组中获取所需的行项(地名和详细信息)。使用该行项中的数据填充表格单元格。
  • 现在在viewForHeaderInSection中使用部分编号从主数组中获取地点类型详细信息并填充PlaceTypeCell并返回部分标题。看看Best way to create custom UITableview section header in storyboard
  • 使用heightForHeaderInSection
  • 设置节标题的高度

希望它有所帮助。

编辑:如果你可以显示marrSearchResult的格式,那么它将很容易帮助。

答案 1 :(得分:1)

以格式:

创建输入数组
NSArray *tourismSection = @[@"Museums", @"Aquariums"];
NSArray *govSection = @[@"Hopsital"];

NSDictionary *data = @{
     @"tourism" : tourismSection,
     @"gov"     : govSection
};
NSArray *inputs = @[@"tourism",@"gov" ];
numberOfSectionsInTableView

中的

return inputs.count;
numberOfRowsInSection中的

return [data valueForKey:inputs[indexPath.section]].count;