Two things:
1) You want to make sure you are the delegate to the UIPopoverController you are using to show your popover view controller "B". See the docs here: https://developer.apple.com/library/ios/documentation/uikit/reference/UIPopoverControllerDelegate_protocol/Reference/Reference.html
Then you'll want to implement one of those methods, e.g.:
- (void)popoverControllerDidDismissPopover:(UIPopoverController *)popoverController {
// Reload my view controller "A"
}
2) How do you know which row was selected in view controller B? It's possible you're updating some singleton that both view controllers have access to, but a better design pattern might be to create your own protocol and for view controller "A" to conform to it. In that case view controller B should have a weak
delegate
property that it sends a message to when the user selects a row. Just look at another class that uses the delegate/protocol pattern to see how it works, you could even look at the .h file of UIPopoverController
by CMD + clicking the class name, or CMD + Shift + O to the file name.