我有一个带按钮的UIViewController,按钮打开firstTableViewController - > tabViewController(带有3个标签) - >其中一个标签有一个secondTableViewController - >的UIViewController。
一切都在故事板中。
在firstTableViewController中,prepareForSeque工作正常。我甚至没有做过选择行......
但是在secondTableViewController上,prepareForSeque不会触发。所以我添加了didSelectRowAtIndexPath,如下所示。但是,prepareForSegue仍然不起作用。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[self performSegueWithIdentifier:@"ShowComment" sender:self];
}
-(void) performSegueWithIdentifier:(NSString *)identifier sender:(id)sender
{
[self prepareForSegue:self.storyboard sender:self];
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
//When a row is selected, the segue creates the detail view controller as the destination.
//Set the detail view controller's detail item to the item associated with the selected row.
NSLog(@"test");
if ([[segue identifier] isEqualToString:@"ShowComment"]) {
}
}
答案 0 :(得分:0)
我发现了这个问题。我没有单元格的标识符。在故事板中,在属性检查器中选择原型单元格 - >标识符输入'Cell1'。
在代码中:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell1";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
// Configure the cell...
Note *note = [notes objectAtIndex:indexPath.row];
cell.textLabel.text = note.title;
return cell;
}
瞧,它有效。