我试过搜索,但到目前为止我似乎找不到答案。
目前,我使用原型单元动态填充我的数据。
我需要根据日期对单元格进行动态分组。
假设在 2001 年 1 月 1 日,我有 3 行。2001 年 2 月 1 日,我有 5 行。我似乎找不到显示如何动态分组单元格的指南或示例。以下是我的部分代码。
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
#warning Potentially incomplete method implementation.
// Return the number of sections.
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
#warning Incomplete method implementation.
// Return the number of rows in the section.
return [someArray count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"cell";
IssuesViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[IssuesViewCell alloc]
initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:CellIdentifier];
}
// Configure the cell...
currentSomething = [[Something alloc] init];
currentSomething = [somethingDiscovered objectAtIndex:indexPath.row];
cell.typeLabel.text = currentSomething.type;
cell.titleLabel.text = currentSomething.title;
cell.begDateLabel.text = currentSomething.begDate;
return cell;
}
2013 年 8 月 23 日更新:
现在我可以对其进行动态分组,但是,在显示单元格的正确数据时遇到了问题。
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
#warning Potentially incomplete method implementation.
// Return the number of sections.
return return [someDate count]; //someDate is an array that stores dates
}
- (NSString*)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
{
// set title of section here
return [someDate objectAtIndex:section]; //set the title of each section as a date
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
#warning Incomplete method implementation.
// Return the number of rows in the section.
return [[someIssues objectAtIndex:section] count]; //some issues hold data to be displayed in the cell.
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"cell";
IssuesViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[IssuesViewCell alloc]
initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:CellIdentifier];
}
// Configure the cell...
currentSomething = [[Something alloc] init];
currentSomething = [somethingDiscovered objectAtIndex:indexPath.row];
cell.typeLabel.text = currentSomething.type;
cell.titleLabel.text = currentSomething.title;
cell.begDateLabel.text = currentSomething.begDate;
return cell;
}
例如,对象 A、B、C、D、E、F、G、H、I、J、K。我有 4 个部分。section[0] 假设显示 A、B、C、D、E、F、G。 Section[3] 假设显示 H、I、J、K。
但是,现在,它只在 [0] 部分中显示 A、B、C、D、E、F、G。A、B、C、D,在第 [3] 节中。请协助。
解决方案:
someIssue = [[someIssues objectAtIndex:indexPath.section] objectAtIndex:indexPath.row];