带有数组和字典数组的UITableView

时间:2011-05-22 19:41:48

标签: objective-c uitableview

我对UITableView

有疑问
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

将数据放入带有字典数组的tableView中没有问题:

dictionary = [allData objectAtIndex:indexPath.row]; 

但如果在这种情况下 allData 数组包含带字典的数组,我怎么能这样做呢?

我有一个UISegmentedControl,其中每个段代表一个Web服务请求,但请求所有请求的第一个段除外。 然后将第一段的所有结果收集在一个数组中。因此,这包含每个请求的数组,包含字典。 任何其他请求的结果都在带有字典的数组中。

谢谢,

1 个答案:

答案 0 :(得分:2)

如果我理解正确,每个单元格都由包含其属性的字典表示。每个部分由这些字典的数组表示。现在你只需要另一个包含section数组的数组。

    NSMutableArray *allData;               // just one
    NSMutableArray *sectionArray;          // one per section
    NSMutableDictionary *cellDictionary;   // one per row
    ...

   - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
       return [allData count];
   }

   - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section      {
        return [[allData objectAtIndex:indexPath.section] count];
    }

   - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
        NSDictionary *dictionary = [allData objectAtIndex:indexPath.section] objectAtIndex:indexPath.row];
        ...
   }