如何在TableView中执行多个segue?

时间:2014-07-09 22:38:25

标签: ios objective-c uitableview

我有一个View Controller,顶部有一个Image View,中间有一个TableView。 TableView有4个部分,每个部分有1到5个单元格。它是这样的:http://imgur.com/GMIhQdt 我想在每个单元格中添加一个segue。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
    if (indexPath.section == 0 && indexPath.row < 3) {
        cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
        cell.textLabel.textColor = [UIColor darkGrayColor];
        if (indexPath.section == 0 && indexPath.row == 0) {
            cell.textLabel.text = @"London";}
        if (indexPath.section == 0 && indexPath.row == 1) {
            cell.textLabel.text = @"Tokyo";}
        if (indexPath.section == 0 && indexPath.row == 2) {
            cell.textLabel.text = @"Paris";}
    }
    [...]
    return cell;
}

然后我尝试在每个单元格中添加一个segue:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    if (indexPath.section == 0 && indexPath.row == 0) {
    [self performSegueWithIdentifier:@"segue1" sender:self];}

    if (indexPath.section == 0 && indexPath.row == 1) {
        [self performSegueWithIdentifier:@"segue2" sender:self];}
    [...]
}

但我无法将单元格与CellIdentifier = @"Cell"链接到每个View Controller。从故事板上的一个Cell到不同的View Controller设计多个Segue是不可能的,那么我该怎么做呢? 谢谢!

1 个答案:

答案 0 :(得分:0)

我找到了问题的解决方案:我只需要选择View Controller本身而不是单元格。问题解决了!