如何创建由Date划分的UITableView?在设置tableview时如何使用对象的日期?
答案 0 :(得分:3)
如果您已经知道要用于节的日期将它们作为数组存储在数组中。换句话说,为您想要充当节的每个日期创建一个数组。然后浏览您的customObjects并将它们插入适当的section数组中。如果您使用此方法numberOfSectionsInTableView
来获取部分数量。
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return [datesArray count];
}
然后你必须告诉UITableDelegate每个部分需要多少行。为此,请使用numberOfRowsInSection
。
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [[datesArray objectAtIndex:section] count];
}
然后在方法cellForRowAtIndexPath
中,只需从适当的节数组中获取单元格的customObject数据。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"CustomTableCell";
static NSString *CellNib = @"UserCustomTableCell";
UserCustomTableCell *cell = (UserCustomTableCell *)[table dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:CellNib owner:self options:nil];
cell = (UserCustomTableCell *)[nib objectAtIndex:0];
}
MyObject *customObject = [[datesArray objectAtIndex:indexPath.section] indexPath.row];
//Setup your cell here
cell.date.text = [customObject date];
return cell;
}
答案 1 :(得分:0)
您希望创建一个分组的UITableView,并将每个对象的日期作为表格的各个部分。
您可能希望将日期读入数组,仅存储唯一日期,并使用该数组计数来设置表中的节数。然后,在填充每个部分中的行时,将数组中的每个日期与数据源中与该日期匹配的对象进行匹配。 (除非您的数据已按日期在数据源中排序)。
numberOfSectionsInTableView将基于您日期中不同日期的数量 numberOfRowsInSection将基于每个日期的元素数
使用indexPath对你的字典或其他数据源保存你的section(Date)和row(对象),以获取cellForRowAtIndexPath方法的数据。