user1550951
user1550951

Reputation: 379

Custom segue in storyboard

I have a Master-Detail application.When the user selects a row in the MasterTable, I want to open another Table (not the DetailViewController). It should paper besides the MasterViewController, similar to the Facebook app on iPad.

I have a Custom segue from the MasterViewController to this table (DocumentViewController of type UITableViewController). This DocumentViewController is 'Embedded' in a navigation controller.

In short, the items on my storyboard look like this:

navigationController->MasterViewController->navigationController->DocumentViewController.

The segue is from MasterViewController to navigationController.

Do I have to perform the segue in "didSelectRowAtIndexPath"? Or do I have to use "performSegueWithIdentifier" in didSelectRowAtIndexPath?

Upvotes: 0

Views: 1020

Answers (1)

FilmJ
FilmJ

Reputation: 2021

If I understand your question correctly, the segue should be from MasterViewController to DocumentViewController. Make sure to give it a unique identifier, and then reference what you want to do in the prepareForSegue in your MasterViewController.

Example:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([[segue identifier] isEqualToString:@"showList"]) {

        // gets indexPath for the currently selected row in my UITableView
        NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];

        // pull back some useful data from Core Data according to what was selected in my UITableView.
        NSManagedObject *object = [[self fetchedResultsController] objectAtIndexPath:indexPath];

        // listDataItem is a property of the controller (in this case a UITableViewController)
        [[segue destinationViewController] setListDataItem:object];
    }
}

Upvotes: 1

Related Questions