Сводка
При удалении представленного UIViewController из встраиваемого UITableView путем выбора ячейки без какой-либо анимации (animated: false), я считаю, что обычно это вызывает менее 50 мс, но иногда (1 ~ 2 из 10 раз) это приведет к более чем 200 мс, чтобы пользователь мог почувствовать влияние на производительность (очевидная задержка). Проект тестирования и журнал загружены ниже.
Среда тестирования:
- macOS 10.14.6
- iOS 12 & 13
- Xcode 11.3 (11C29)
Шаги для воспроизведения: (из проекта тестирования)
- Запустите приложение
- Нажмите кнопку «Кнопка»
- Нажмите на любую ячейку из представленного UITableView (который фактически встроен в UIViewController)
- Представленный UIViewController отклонен
Ожидаемые результаты:
на шаге 4 , UIViewController отключается в течение 50 мс (как обычно) каждый раз, и никаких явных задержек или задержек (?) не происходит
Фактические результаты:
в шаге 4, 1 ~ 2 из 10 раз (Вероятность 10% ~ 20%) UIViewController отклоняется более чем на 200 мс, и пользователь может почувствовать очевидную задержку производительности / отставание
Проект тестирования ниже: https://github.com/inexcii/issue-dismiss-presented-tableview
Кто-нибудь сталкивался с такой же проблемой, и если да, то каков ваш обходной путь?
, кстати, я уже eady открыл отчет об ошибках для Apple и open-radar .