1

我有以下问题: 只有当 UITableViewCellSelectionStyleNone 为 true 时,才应执行 segue。

    - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
    if (cell.selectionStyle == UITableViewCellSelectionStyleNone) {
        [self performSegueWithIdentifier:@"Update" sender:indexPath];{

        }
    }
}


- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{          
    if ([[segue identifier] isEqualToString:@"Update"]) {
        NSManagedObject *selected = [self.travelA objectAtIndex:[[self.tableView indexPathForSelectedRow] row]];
        TravelVC *destViewController = segue.destinationViewController;
        destViewController.travel = selected;
        destViewController.positionString =  _positionStringA;
    }
}

但这不起作用。如果单元格选择样式不是 UITableViewCellSelectionStyleNone,也会执行 segue。也许有一种方法可以结合这两种方法。

提前致谢。

4

1 回答 1

1

您不应该将您的逻辑基于UITableViewCellSelectionStyleNone. 相反,您应该使用indexPath来询问您的模型并确定该项目的选择是否可用/合理。

于 2013-08-13T10:53:37.120 回答