Я работаю над приложением nativescript для Android и iOS, в котором я использовал REST API для хранения / получения данных в формате JSON. Основываясь на результате JSON от API, мне иногда нужно показать предупреждение пользователю. Он отлично работал с Nativescript 4.1, но, поскольку я обновился до 4.2, приложение не может отображать окна предупреждений в ios. Он показывает пустую страницу и показывает следующую ошибку.
(UIKitCore) Warning: Attempt to present <UIAlertController: 0x7fb5834eb000> on <UIViewControllerImpl: 0x7fb58659a670> whose view is not in the window hierarchy!
Я подозревал, что вызываю предупреждение слишком рано, поэтому я попытался добавить тайм-аут перед предупреждением, но все равно.
if (result.status === 'E') {
setTimeout(function () {
const alertOptions = { title: 'Error', message: result.errMsg, okButtonText: 'OK', cancelable: false };
dialogs.alert(alertOptions).then(() => {
resolve('Error');
});
}, 700);
Следует отметить, что я использую компонент nativescript-autocomplete в одном из моих вкладки. и эта проблема возникает только тогда, когда пользователь что-то ищет, используя этот компонент. Значит, это может быть что-то связанное с этим компонентом. Может быть, когда автозаполнение закрывает модальное окно, приложение теряет родительскую ссылку?