【讨论】当 tableview 存在多个有序节的时候,什么样的数据结构适合存储数据?


我遇到的问题是应该是很常见的问题,就是表格视图是分节的(section),同时节之间是有顺序的,比如节从上到下分别为:置顶,12月,11月.....

原本我的做法是用一个 NSDictionary 保存 ,key 是 section title,value是数组保存每个 section 的内容。但是现在发现 NSDictionary 的 key 是无法保证顺序的。所以想换一种方式,就是另外再用一个 NSArray 保存 section title 以保证顺序。

现在我的问题是~大家一般遇到这种情况会怎么做?欢迎拍砖~

uitableviewcell ios 数据结构 uitableview

吴克的呐喊 10 years, 3 months ago

我觉得题主说的这种一个字典一个数组的方式就挺好的,我也是这么干的。

Guerni answered 10 years, 3 months ago

如果使用多维数组会怎么样


 NSArray *array = @[@[@[@"father1"],@[@"child1",@"child1"]],
                  @[@[@"father2"],@[@"child2",@"child2"]],
                  ...
                  ]

这样会不会好处理一些,结构也清晰一些?

黑色花人无叶 answered 10 years, 3 months ago

最简单的办法就是两个Array 图片描述

注意使用循环精简代码

潜水捉河蟹 answered 10 years, 3 months ago

可以用NSArray+NSDictionary的方式
NSArray *dataSource = @[@{@"sectionHeader":@"Section1", @"rows":@[@"row1", @"row2"]}, @{@"sectionHeader2":@"Section2", @"rows":@[]}];

auron answered 10 years, 3 months ago

Your Answer