在我的 SwiftUI 项目中我看到AppDelegate
文件以及SceneDelegate
file.
它们之间有什么区别?
例如在方法之间SceneDelegate
scene(_:willConnectTo:options:)
并在AppDelegate
application(_:didFinishLaunchingWithOptions:)
这两个文件旨在根据运行整个应用程序所需的内容和支持在后台明显运行的一个“实例”所需的内容来划分工作。这类似于配置数据库一次,但通过窗口显示不同的值集。
您可以将它们视为全局版本和私有版本。一种是共享的,另一种仅限于个人所有者。在某种程度上,它们正是您所期望的名字。
多窗口支持正在发生
下次创建新的 Xcode 项目时,您将看到 AppDelegate
分为两部分:AppDelegate.swift 和 SceneDelegate.swift。这是一个
iPadOS 推出的新多窗口支持的结果,以及
有效地将应用程序委托的工作一分为二。
从 iOS 13 开始,您的应用程序委托应该:
- 设置应用程序运行期间所需的任何数据。
- 响应与应用程序相关的任何事件,例如与您共享的文件。
- 注册外部服务,例如推送通知。
- 配置您的初始场景。
相比之下,场景代表负责处理您的一个实例
应用程序的用户界面。因此,如果用户创建了两个显示
在您的应用程序中,您有两个场景,两者都由同一个应用程序委托支持。
请记住,这些场景设计为独立工作
彼此。因此,您的应用程序不再移至后台,
相反,单个场景会这样做——用户可能会将一个场景移动到
背景,同时保持另一个打开。
致谢https://www.hackingwithswift.com/articles/193/whats-new-in-ios-13 https://www.hackingwithswift.com/articles/193/whats-new-in-ios-13
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)