我创建了一个分组样式表视图
并且该表有5个部分,每个部分都有不同的行数
这是我的代码
1.设置表格中有多少部分
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
// Return the number of sections.
return 5;
}
2.设置部分中的每一行
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
// Return the number of rows in the section.
switch (section) {
case 0:
return 1;
break;
case 1:
return 2;
break;
case 2:
return 3;
break;
case 3:
return 1;
break;
case 4:
return 2;
break;
default:
return 1;
}
}
3.给出一个标题标题:
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {
switch (section) {
case 0:
return @"Section 1";
break;
case 1:
return @"Section 2";
break;
case 2:
return @"Section 3";
break;
case 3:
return @"Section 4";
break;
case 4:
return @"Section 5";
break;
default:
return nil;
}
}
5.只在第一部分数据中给出第一行(因为其他人我还不知道设置单元格)
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}
if (indexPath.section==0 && indexPath.row==0) {
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
cell.textLabel.text = @"About System";
}
return cell;
}
比我在第0节Row0和第4节第0行
中得到两个相同的Cell但如果我标记标题标题
它只出现在第0行第0行的文本标签
是我的开关逻辑错误?或者只是编译问题????
答案 0 :(得分:1)
是的,这是一个逻辑错误。请注意,您“可能”正在重用-tableView:cellForRowAtIndexPath:
中的单元格。因此,如果您没有设置文本标签,
如果是全新的单元格,则文本标签将为空。
如果是重复使用的单元格,文本标签将保持与之前相同的格式,可能是About System
。
总而言之,如果你没有设置标签,那么就没有明确的行为。