我想设计一个包含2个部分的动态表,第一部分有4个单元格,第二部分有41个单元格。我想分别编程这两个部分,但我只能修改一个部分。如何单独修改每个部分。我到目前为止写的代码是这样的:
{
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 2;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
if (section == 0)
return 4;
else
return 41;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Questions";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if(cell == nil) cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"Questions"];
cell.textLabel.text = [NSString stringWithFormat:@"Question %lu", (unsigned long)indexPath.row +1];
return cell;
}
}
答案 0 :(得分:2)
NSIndexPath具有row属性和section属性。从这两个属性中,您可以确定
中当前正在处理的单元格<(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
例如:
(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Questions";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if(cell == nil)
cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"Questions"];
if (indexPath.section == 0)
{
cell.textLabel.text = [NSString stringWithFormat:@"1st Group - Question %d", indexPath.row + 1];
}
else
{
cell.textLabel.text = [NSString stringWithFormat:@"2nd Group - Question %d", indexPath.row + 1];
}
return cell;
}