Привет, у меня есть раскадровка, и я могу показать подробный вид при нажатии на ячейку таблицы. Я хочу добавить дополнительные функции, чтобы в зависимости от того, в какой ячейке я щелкаю, отображался другой контроллер представления. Я попытался перетащить два сегмента из одной ячейки, но это не позволяет.
Я думал, что у меня будет два перехода от клетки, каждый из которых указывает на отдельный вид, а затем вызову желаемый переход:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSInteger row = indexPath.row;
NSLog(@"Selected Item :-) %@",[NSString stringWithFormat:@"%@",[myData objectAtIndex:row]]);
if(row %2 ==0){
NSLog(@"Even");
[self performSegueWithIdentifier:@"ShowSecondIndex" sender:self];
}else{
[self performSegueWithIdentifier:@"ShowSelectedMovie" sender:self];
NSLog(@"Odd");
}
}
Я бы тогда обработал переход в prepareForSegue
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
NSLog(@"Prepare For Segue ID:%@",[segue identifier]);
if([[segue identifier] isEqualToString:@"ShowSelectedMovie"]){
Tab2_ItemViewController *vc = [segue destinationViewController];
NSInteger selectedIndex = [[self.tableView indexPathForSelectedRow] row];
NSLog(@"Selected Index: %d",selectedIndex);
[vc setSelectedItem: [NSString stringWithFormat:@"%@",[myData objectAtIndex:selectedIndex]]];
NSLog(@"String Value: %@",[NSString stringWithFormat:@"%@",[myData objectAtIndex:selectedIndex]]);
[vc setSelectedIndex:selectedIndex];
}else if([[segue identifier] isEqualToString:@"ShowSecondIndex"]){
NSLog(@"Viewing Second Index");
}
}
Однако он никогда не показывает второй вид. Это потому, что невозможно иметь два сегмента из одной ячейки таблицы. Я также попытался перетащить оба segue из контроллера в каждое место назначения, а не один из ячейки и один из контроллера, но все равно не повезло ???