在哪里初始化我的应用程序的基类 Swift

2023-12-19

我有一个名为Home这是我的应用程序的父类。现在,我想在某个地方初始化这个类,以便我可以从任何我想要的地方访问类中的所有内容。该应用程序的起点是RootViewController。我应该在起点初始化应用程序吗?如果是,我应该如何做才能从应用程序中的任何位置访问它?


根据我上面的评论,在 AppDelegate 类上设置一个 Home 类型的属性,在 application:didFinishLaunchingWithOptions 中初始化它。现在您可以通过sharedApplication.delegate 访问home 的这个实例。

在 AppDelegate.swift 中:

import UIKit

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?

    var myHome: Home?


    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: NSDictionary?) -> Bool {
        // Override point for customization after application launch.

        self.myHome = Home()

        return true
    }

然后在其他类中访问它:

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

在哪里初始化我的应用程序的基类 Swift 的相关文章

随机推荐

  • 请帮助我解决VHDL编译错误[重复]

    这个问题在这里已经有答案了 library IEEE use IEEE std logic 1164 all entity doorlock is port reset in std logic enable in std logic pa
  • 如何处理 Node.js 中基于 Promise 的业务级函数中的错误返回对象?

    我需要创建一个名为 getLocationById 的业务级函数 它通过 REST API 从远程服务器检索一些数据 然后路由器调用该函数以在网页上显示数据 如果 fetch 调用成功 则将 json 结果作为 Promise 返回 但是
  • 无法在属性前面使用“d:”前缀来启用设计时数据

    我使用时遇到问题d 在 前面attributes 以在 XAML 设计器中显示它们
  • React警告滚动阻塞“touchstart”的非被动事件侦听器

    我有一个带有 Material ui Slider 的 React 组件 每次渲染此组件时 我都会收到此警告 向滚动阻塞 touchstart 事件添加了非被动事件侦听器 考虑将事件处理程序标记为 被动 以使页面响应更快 如何解决这个问题
  • 有没有办法设置全屏覆盖背景不透明度?

    我需要从视图组件内的按钮推送模态视图 但应该只覆盖屏幕高度的下半部分 上半部分是半透明背景 黑色 不透明度 30 在全屏覆盖视图构建器中设置最顶层视图的不透明度不起作用 任何帮助 将不胜感激 struct ContentView View
  • 需要 Windows 安全性时下载文件的臭名昭著但未得到解决的问题

    有一个网站 http site domain com http site domain com它会通过 Windows 安全 对话框提示输入凭据 因此 我设法使用 WebBrowser 控件导航到该页面并发送击键来输入密码 我找不到其他方法
  • Knockout.js - 传递参数

    我的 Knockout js 遇到问题 我想将用户名传递给函数并在警报时显示它 一些奇怪的事情正在发生 每次当我使用正确的用户名刷新页面时 我都会收到警报 但单击它后我没有收到任何响应 这里有什么问题吗 这是我的代码 ul li class
  • 在 Xcode 4.1 中添加自定义字体

    我想在应用程序中使用自定义字体 我已经在 info Plist 文件中声明了 应用程序提供的字体 并将 label font 设置为名称带 不带 TTF 扩展名的字体 将TTF文件拖入项目并将文件复制到项目中 为品牌创造了一个出路 但仍然没
  • 使用 VBA 在电子邮件中嵌入图像

    下面的代码嵌入了照片但不显示 因为 文件可能已被移动 重命名或删除 请验证链接是否指向正确的文件和位置 我知道文件路径是正确的 Sub mail Dim Sig As String Set myOlApp CreateObject Outl
  • Android IntentService 以空意图触发

    我在 Crashlytics 中看到崩溃 致命异常 java lang NullPointerException 尝试调用 虚方法 int android content Intent getIntExtra java lang Strin
  • 如何更改 TinyMce 编辑器中的默认字体调色板?

    我想添加一些与我的网站主题相匹配的预设颜色 如何更改 TinyMce 中的默认字体调色板 截图 with shadow png http img407 imageshack us img407 4526 screenshotwithshad
  • 不完全是。使用 Cocoa 处理游戏中键盘输入的正确方法是什么?

    假设您正在为 Mac OS X 创建游戏 事实上 假设您正在创建 Quake 只是现在是 2011 年 您更愿意只使用现代的 未弃用的框架 您希望您的游戏在用户按下 或释放 某个键时收到通知 any key 在键盘上 这包括修饰键 例如 S
  • 如何将 Git 中的更改合并到我移动的文件中?

    我移动了一些目录 当我合并时 有许多冲突的文件 因为其他开发人员已经提交了他们的更改 两者都有合并工具和git mergetool说文件被本地或远程删除 参见图片 如何合并这些更改 文件历史记录和重命名检测 你永远不需要担心 Git 中的
  • xcodebuild 构建操作来分发带有剥离 dSYM 的动态框架

    我曾经使用以下方法构建内部开发的动态框架 xcodebuild workspace
  • Jest 无法加载 Primeng css 文件

    我正在使用 Jest 版本 26 6 3 来测试 Angular 组件 对使用的任何组件进行单元测试Primeng的复选框组件 https www primefaces org primeng showcase checkbox在compi
  • 操作系统回调如何工作

    跟进问题 这个问题 https stackoverflow com questions 1223040 c timers in unix 如链接问题中所述 我们有一个 API 它使用事件外观来轮询 select 来处理用户定义的回调 我有一
  • 在 BigQuery 中获取不超过一小时的数据

    尝试使用以下语句 SELECT FROM data example WHERE TIMESTAMP timeCollected lt DATE ADD USEC TO TIMESTAMP NOW 60 MINUTE 从我的 bigquery
  • 使用 Storyboard Segues 关闭 Popover 视图

    我一直在谷歌搜索并在整个堆栈交换中搜索正确的答案 但我似乎找不到它 我所拥有的是通过弹出框 Segue 呈现的弹出框视图 当在弹出框视图内单击按钮时 我希望它被关闭并显示 UIAlert 这是迄今为止我从其他答案中收集的代码 但不起作用 v
  • 创建任务时无用的 Amazon ECS 错误消息

    使用ECS代理容器 https github com aws amazon ecs agent在 Ubuntu 实例上 我可以向我的集群注册代理 我还在该集群和任务定义中创建了一项服务 当我尝试将任务添加到集群时 我收到无用的错误消息 Ru
  • 在哪里初始化我的应用程序的基类 Swift

    我有一个名为Home这是我的应用程序的父类 现在 我想在某个地方初始化这个类 以便我可以从任何我想要的地方访问类中的所有内容 该应用程序的起点是RootViewController 我应该在起点初始化应用程序吗 如果是 我应该如何做才能从应