UITableView在分组模式下的优秀数据结构是什么

use*_*951 6 objective-c uitableview

通常我将数据存储在一个数组中.然后,当调用cellForRowAtIndexPath时,我只看行,并根据行和进程选择数组上的项.

但是我们所知道的UITableView可以进行组视图.

所以我该怎么做?

我应该有一个数组数组吗?数组的NSDictionary?在UITableView结构中存储数据的最优雅方式是什么?

Mar*_*n R 11

例如,一个字典数组,其中每个字典包含标题和一个部分的所有项:

NSArray *dataSource = @[
                    @{@"title": @"Section 0",
                      @"rows" : @[ item00, item01, item02] },
                    @{@"title": @"Section 1",
                      @"rows" : @[ item10, item11, item12] },
                    @{@"title": @"Section 2",
                      @"rows" : @[ item20, item21, item22] },
                    ];
Run Code Online (Sandbox Code Playgroud)

这些项可以是自定义类的字符串或对象.然后你可以访问cellForRowAtIndexPathlike中的每个项目

Item *item = dataSource[indexPath.section][@"rows"][indexPath.row];
Run Code Online (Sandbox Code Playgroud)

所有其他数据源方法也很容易实现.