按日期排序的Xcode UITableView部分和行(来自MutableArray)
题
在我的UITableView中,我有多个分秒,日期标题。 日期按NSMutableArray的日期排序。 我的部分正在显示正确的日期,工作正常,而且NumberofrowsInnsecce也适用。 对于小区TextLabels,我得到了以与排序日期相同的顺序排序的NSMutablearay。 如何在相应的日期获得正确的TextLabel(部分)? 使用IndexPath.section它仅在一个部分中有1行时工作。当我在一个部分中获得2行或更多行时,TextLabels的值错误。 我明白这可以用字典完成,但我找不到解决方案。
@property NSMutableArray *dateArray; //date for my sections
@property NSMutableArray *hoursArray; //hours for cells textlabel
.
我的部分
"January 2014",
"April 2014",
"June 2014"
.
我的时间:
"1",
"2",
"3",
.
///////////编辑
当我使用时 cell.textlabel.text= [houtharray objectatindex:indexpath.row] 它始终在每个部分中的索引0开始。
当我使用时 cell.textlabel.text= [houtharray objectatindex:indexpath.section] 当每个部分只有1行时,它具有正确的排序。 但是当一个部分中有更多行时,订单错误
解决方案
必须创建数据源排序,以便创建RowArray的截面array,然后相应地使用它。 然后你可以像这样用:
Cell.textlabel.text = [[sectionArray objectatindex:indexpath.section] objectAtIndex:indexpath.row];
.
现在你只需要经常管理您的数据源。
更新: 您可以创建像这样的2D数组
NSMutableArray *dateArray = [[NSMutableArray alloc] init];
for(int i=0; i<=dateData.length; i++)
{
NSMutableArray *hoursArray = [[NSMutableArray alloc] init];
for(int j=0; j<=hoursData.length; j++)
{
[hoursArray addObject:yourObject];
}
[dateArray addObject:hoursArray];
}
.
这只是一个例子,但是您可以根据您的需要优化。
不隶属于 StackOverflow