iOS基础 - SceneDelegate
▶ SceneDelegate
自 Xcode11 发布以来,当你使用新 XCode 创建一个新的 iOS 项目时 SceneDelegate 会被默认创建!在 iOS 13 后它将负责 AppDelegate 的某些功能
最重要的是 window 的概念已被 scene 的概念所代替。 一个应用程序可以具有不止一个场景,而一个场景现在可以作为您应用程序的用户界面和内容的载体。尤其是一个具有多场景的 App 的概念很有趣,因为它使您可以在 iOS 和 iPadOS 上构建多窗口应用程序
在 Xcode 11 中有三个地方可以明显地看到 SceneDelegate 的身影
A:一个新的 iOS 项目会自动创建一个 SceneDelegate,其中包括我们熟悉的生命周期事件 SceneDelegate 还具有下面这些函数
B:AppDelegate 中则多了两个与 scene sessions 相关的新方法
C:Info.plist文件 中提供了 Application Scene Manifest 配置项,用于配置 App 的场景,包括它们的场景配置名、delegate类名 和 storyboard
▶ 如何删除 SceneDelegate
不习惯使用 SceneDelegate 可以将其删除,步骤如下
A. 首先删除 SceneDelegate文件:.h 和 .m
B. 删除 AppDelegate文件 中新增的两个函数:application(_:configurationForConnecting:options:) 和 application(_:didDiscardSceneSessions:)
C. 删除 Info.plist文件 中的 Application Scene Manifest
D. 在 AppDelegate.h 中添加 window属性:@property (strong, nonatomic) UIWindow *window;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了