my app stores different attributes in Core Data objects. They are all shown in a UITableView, if you click a cell, a DetailView is shown. the usual stuff like in the Master-
Get the destination View controller from the storyboard using its storyboard ID and pass the objects that you are doing in prepareForSegue method.
Below is the code that I use to pass the data. Its in Swift, it should be similar in objective C. Let me know if you want Objective C version.
func previewingContext(previewingContext: UIViewControllerPreviewing,viewControllerForLocation location: CGPoint) -> UIViewController? method:
// Obtain the index path and the cell that was pressed.
guard let indexPath = tableView.indexPathForRowAtPoint(location),
cell = tableView.cellForRowAtIndexPath(indexPath) else { return nil }
// Create a destination view controller and set its properties.
guard let destinationViewController = storyboard?.instantiateViewControllerWithIdentifier("DestinationViewController") as? DestinationViewController else { return nil }
let object = fetchedResultController.objectAtIndexPath(indexPath)
destinationViewController.detailItem = object
/*
Set the height of the preview by setting the preferred content size of the destination view controller. Height: 0.0 to get default height
*/
destinationViewController.preferredContentSize = CGSize(width: 0.0, height: 0.0)
previewingContext.sourceRect = cell.frame
return destinationViewController
}