警告:不鼓励在分离的视图控制器上呈现视图控制器

2024-01-28

我的情况与我在这里找到的所有其他示例都不同。我有一个基于选项卡的应用程序。在其中一个选项卡上,用户可以按下一个按钮,同时从网络服务器下载多个文件。

我使用 NSOperation 来执行每个下载,以便我可以利用内置的依赖项。下载全部发生在后台线程上,因此应用程序保持响应。当最终下载完成时,我在屏幕上放置一个警报控制器,让用户知道它们已完成。

如果用户在显示警报控制器时选择了不同的选项卡,我会收到警告:“不鼓励在分离的视图控制器上显示视图控制器”

如果它们仍然位于开始下载的同一选项卡上,那么我不会收到警告。我尝试更换:

[self presentViewController:alertController animated:YES completion:nil];

with

[self.view.window.rootViewController presentViewController:alertController animated:YES completion:nil];

但结果是alertController永远不会出现。

我在主线程上呈现alertController。

我无法预测下载完成后用户将使用哪个选项卡视图控制器,并且真的很想摆脱此警告。

我正在 macOS 和 Xcode 8 上使用 Obj-C 进行开发。


您需要将下载结果委托给顶级视图控制器,这听起来像是您的UITabBarController. The UITabBarController当然知道选择了哪个选项卡 https://developer.apple.com/reference/uikit/uitabbarcontroller/1621172-selectedviewcontroller,或者它可以自行发出警报。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

警告:不鼓励在分离的视图控制器上呈现视图控制器 的相关文章

随机推荐