Вот решение обратного вызова, которое требует меньше модификаций для вашего модального и родительского:
В модели .h добавить:
@property (nonatomic, copy) void (^dismissed)();
В .m модели введите это в завершение, когда вы отклоняете модал:
[self dismissViewControllerAnimated:YES completion:^{
if(self.dismissed)
self.dismissed();
}];
В родительском контроллере представления при создании экземпляра модального режима установите отклоненный обратный вызов:
Modal = //Init your modal
[Modal setDismissed:^{
//do stuff you wanted when it's dismissed
}];
[self presentViewController:Modal animated:YES completion:nil];