I know we all always put nil
for the completion block... but it actually does have some use. I assure you.
[self dismissViewControllerAnimated:YES completion:^{
//code to be executed with the dismissal is completed
// for example, presenting a vc or performing a segue
}];