我正在开发适用于android和ios的nativescript应用程序,其中我使用REST API来存储/获取JSON格式的数据。 基于API的JSON结果,我有时需要向用户显示警报。 它在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组件。并且仅当用户使用该组件搜索内容时才会出现此问题。 因此可能与该组件有关。可能是当自动完成功能关闭了模态时,应用会松开父级引用吗?