通过segue将uitableviewcells连接到不同的视图

时间:2012-08-10 12:58:19

标签: objective-c xcode uitableview storyboard

我以编程方式创建一个UITableView,其中不同的单元格和部分连接到故事板中的其他视图,如下图所示:

我的问题是:

如何将这3个单元格连接到这些不同的视图,请你帮助我

提前致谢!

这是我的代码:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString *key = [[self sectionKeys] objectAtIndex:[indexPath section]];
NSArray *contents = [[self sectionContents] objectForKey:key];
NSString *contentForThisRow = [contents objectAtIndex:[indexPath row]];

static NSString *CellIdentifier = @"CellIdentifier";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil)
{
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault 
reuseIdentifier:CellIdentifier];
}

[[cell textLabel] setText:contentForThisRow];
return cell;

}



- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
_selectedIndex = indexPath.row;
[self.tableView reloadData];

}

修改 当我使用这个方法它只是加载WorkTime视图,即使用户选择缺席单元格, 有人知道为什么吗?

  - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
 {
  _selectedIndex = indexPath.row;
[self.tableView reloadData];
//maybe you could use a switch/case here, to assign the correct string to the segue identifier.
 switch (indexPath.row){
    case 0:
        [self performSegueWithIdentifier:@"test" sender:self];
        break;
    case 1:
        [self performSegueWithIdentifier:@"set" sender:self];
        break;
    case 2:
        [self performSegueWithIdentifier:@"get" sender:self];
        break;
 }
 }

1 个答案:

答案 0 :(得分:1)

您的最后一种方法是您想要的方式,但从外观上看,您需要检查indexPath.section而不是indexPath.row