Ok, I think I've found an answer.
If anyone sees any issues I'd appreciate it if you'd let me know, but this is working for me so far:
In my main view controller (the one that opens the popover):
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
UIStoryboardPopoverSegue *popoverSegue = (UIStoryboardPopoverSegue*) segue;
currentPopover = [popoverSegue popoverController];
currentPopover.delegate = self;
UINavigationController *destinationNavController = (UINavigationController*)segue.destinationViewController;
SelectServerToConnectViewController *destinationView = [destinationNavController.childViewControllers objectAtIndex:0];
destinationView.parentPopover = currentPopover;
}
And in my SelectServerToConnectViewController:
-(void)tableView:(UITableView *)tableView didHighlightRowAtIndexPath:(NSIndexPath *)indexPath {
ServerItem *selectedServer = [CoreDataController getServerForIndex:indexPath.row];
[parentPopover dismissPopoverAnimated:true];
}