Моя ситуация с этим отличается от всех других примеров, которые я смог найти здесь. У меня есть приложение на основе табуляции. На одной из вкладок пользователь может нажать кнопку, которая загружает сразу несколько файлов с веб-сервера.Предупреждение. Представлять контроллеры просмотра на контроллерах отдельного вида не рекомендуется
Я использую NSOperation для выполнения каждой из этих загрузок, чтобы я мог использовать встроенные зависимости. Все загрузки происходят в фоновом потоке, поэтому приложение остается отзывчивым. Когда окончательная загрузка завершена, я помещаю alertController на экран, чтобы пользователь знал, что они завершены.
Если пользователь выбрал другую вкладку, когда предупреждение контроллера представлено я получаю предупреждение: «Представление контроллеров отображения на отдельных контроллерах зрения не рекомендуется»
Если они все еще находятся на той же вкладке, которая начала загрузки то я не получаю предупреждение. Я попытался заменить:
[self presentViewController:alertController animated:YES completion:nil];
с
[self.view.window.rootViewController presentViewController:alertController animated:YES completion:nil];
, но результат в том, что alertController никогда не представляется.
Я представляю alertController на основной теме.
У меня нет способа предсказать, какой контроллер просмотра таблеток будет включен, когда загрузка будет завершена, и действительно хотел бы избавиться от этого предупреждения.
Я разрабатываю на macOS и Xcode 8 с Obj-C.
Возможный дубликат [Warning: -содержащие контроллеры просматривать на отдельных контроллерах зрения не приветствуется] (https://stackoverflow.com/questions/19890761/warning-presenting-view-controllers-on-detached-view- контроллеры-есть-препятствовать) –