我有一个字符串数组,并希望我的UITableView中的每个部分都使用相应的字符串作为其行的标题。而不是这样做,它只是取数组中的第一个字符串并在每个部分重复它。
我似乎无法弄清楚我在设置方面做错了什么。我有indexPath.section
和agendaTableArray
值记录,当我滚动表格时它会正确记录,但它仍然只显示第一个值。
阵列设置:
- (void)viewDidLoad
{
[super viewDidLoad];
/// code clipped for brevity
self.agendaTableArray = [[NSArray alloc] init];
self.agendaTableArray = @[@"No events today!", @"No events today!", @"Dinner with Rebekah", @"Soccer game", @"Dentist appt.", @"Celebrate job offer, drinks with Pierre!", @"No events today!", @"No events today!", @"No events today!", @"No events today!", @"No events today!", @"No events today!", @"No events today!", @"No events today!", @"No events today!", @"No events today!", @"No events today!"];
}
表格设置:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *MyIdentifier = @"MyReuseIdentifier";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:MyIdentifier];
if (!cell) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:MyIdentifier];
}
NSLog(@"the indexpath.section is: %ld", (long)indexPath.section);
NSLog(@"the agendaTableArray title is: %@", self.agendaTableArray[indexPath.section]);
cell.textLabel.text = self.agendaTableArray[indexPath.row];
cell.textLabel.font = [UIFont systemFontOfSize:14];
[self whatSectionsAreVisible];
return cell;
}
答案 0 :(得分:4)
您应该考虑检查每个部分的行数。换句话说,您可能会为- (NSInteger)numberOfRowsInSection'
返回值1,因此您始终使用第一行的索引,即0。
您可能想要使用:
cell.textLabel.text = self.agendaTableArray[indexPath.section];
答案 1 :(得分:0)
我认为问题出在以下几行:
cell.textLabel.text = self.agendaTableArray[indexPath.section];
应该是:
cell.textLabel.text = self.agendaTableArray[indexPath.row];
我假设您希望阵列上的每个项目都有一行,而不是阵列上每个项目的一个部分。