IOS/Objective-C: Отклонить специфический UIALertController без отклонения других ViewControllers
Я пытаюсь самостоятельно отклонить один alertController без отклонения любых других контроллеров, которые могут присутствовать, таких как SLComposer, другой alertController и viewController, которые присутствуют в разное время в последовательности.
Я нашел этот подход в другом ответе на SO, но проверка представленного viewController, кажется, не различает то, что отклоняется:
[presentViewController:hint animated:YES completion: {
// Dispatch 3 seconds after alert presented
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
// Check that hint alert is still presented
if self.presentedViewController == hint {
// Dismiss if it is
[self.dismissViewControllerAnimated:YES completion:^{
//Dismissed
}];
}
});
}]
;
Если присутствуют другие контроллеры представления, приведенный выше код отклоняет их, даже если они не названы как подсказка, что наводит меня на мысль, что вышеупомянутая проверка только проверяет наличие подсказки и не ограничивает то, что она отклоняет подсказкой.
Есть ли способ отклонить определенный контроллер представления?
Спасибо заранее за любые предложения.