【发布时间】:2021-03-21 04:06:51
【问题描述】:
我的应用程序只有一个窗口。将willConnectTo 用作didFinishLaunching 并将sceneDidDisconnect 用作假设的didTerminateApp 是否安全?
我不希望我的旧 AppDelegate 逻辑拆分为 2 个文件。所以我想要这个设置主要是为了方便。
我在场景委托的sceneDidDisconnect 函数中阅读了评论:
这发生在场景进入后台后不久,或者它的会话被丢弃时。
但是,当我尝试时,情况并非如此 - 在我的应用程序后台运行后它永远不会被调用。我的猜测是这只适用于多窗口的情况。
脚注:我了解对于多窗口应用(在 iPad 上),场景生命周期 != 应用生命周期。我已经阅读了大约 3-4 篇关于新 SceneDelegate 的在线教程。我只是要求单窗口情况。
【问题讨论】:
-
这是非常广泛的,相当模糊和漫无边际。它似乎做了很多错误的假设。你能指定一个具体的问题你想问吗?
-
@matt 仅 1 个问题:我可以像使用
didFinishLaunching一样使用willConnectTo -
但这毫无意义。它们是不同的,它们都在启动时被调用。每个人都有自己的工作要做。
-
@matt 你是说即使在单窗口应用程序中,我也不能像
didFinishLaunching一样使用willConnectTo?您能否提供更多理由(而不仅仅是“他们不同”) -
我不知道你说的“好像”是什么意思,你也没有解释。当然,大多数 工作都是从一个转移到另一个,例如构建视图层次结构和发现传入的 URL 等。但是应用程序初始化仍然是 didFinishLaunching 的工作。他们每个人都有工作要做。我怀疑在大多数应用程序中,didFinishLaunching 将做的很少。但它仍然存在。