如何在Swift中获取应用程序代理的引用?

最后,我想使用引用来访问托管对象上下文.

推荐答案

另一种解决方案是正确的,因为它将为您提供对应用程序委托的引用,但这将不允许您访问UIApplication子类添加的任何方法或变量,比如托管对象上下文.要解决这个问题,只需向下转换到"AppDelegate"或您的UIApplication子类碰巧被调用的内容.在Swift 3, 4 & 5中,这是按如下方式完成的:

let appDelegate = UIApplication.shared.delegate as! AppDelegate
let aVariable = appDelegate.someVariable

Swift相关问答推荐

为表单部分赋予背景 colored颜色 /渐变

TabView中的视频播放器意外播放

变量捕获:变量在函数闭包中的行为

SWIFT中MAP的静态方法包装器

SwiftUI轨迹绘制怪异

Swift通过设置变量B自动设置变量A的值

SwiftUI 中的同一个 ForEach 中是否可以有 2 个数组?

SwiftUI:列表背景为空列表时为黑色

是否有一个带有空初始值设定项的 Swift 类/ struct 的标准协议

如何在不将变量转换为字符串的情况下判断变量在 Swift 中是否为 Optional(nil)?

如何让飞机与 RealityKit 中的物体相撞

使 Swift 并发中的任务串行运行

如何根据 SwiftUI 中的字体大小定义按钮的大小?

更改该函数的参数之一时,如何将这些 SwiftUI 异步任务合并到一个任务中以从函数中获得正确的结果

仅在 Swift 中创建 Setter

使用 Alamofire 4.0 (Swift 3) 下载文件

如何快速截取 UIView 的屏幕截图?

如何在 SwiftUI 中创建带有图像的按钮?

使用相机进行人脸检测

Swift performSegueWithIdentifier 不起作用