swift - 从 ViewController Mac OS 向 AppDelegate 传递数据
问题描述
我一直在尝试将数据从视图控制器传递到 AppDelegate 文件,但没有运气。我想访问视图控制器中的变量 l 。我一直在使用的代码如下:
let navController = window!.contentViewController as! NSWindowController
let SettingsController = navController.contentViewController as! SettingsViewController
var list = itemsController.l
显然这不起作用并产生运行时错误。顺便说一句,我正在使用
var window: NSWindow?
对不起,如果这没有意义,因为英语不是我的第一语言。
解决方案
首先,你的意思是:
let itemsController = navController.contentViewController as! SettingsViewController
其次,如果您尝试访问 AppDelegate,您应该调用:
guard let appDelegate = NSApplication.shared.delegate as? AppDelegate else {
return
}
获取 AppDelegate。然后您可以通过以下方式获取您正在寻找的窗口:
window = appDelegate.window
我想这就是你要找的。
推荐阅读
- javascript - 是否可以将变量传递给 React 中的 antD Statistics 组件?
- reactjs - 为什么我们在函数引用之前添加“ ( ) => ”?
- java - Java验证证书与颁发者证书
- flutter - iPhone上的颤振底部填充颜色
- database - Flyway 迁移的最长执行时间
- javascript - 如何安装全局安装的 npm 包
- c++ - 希望在执行 DLL (C++) 后终止 main.exe
- list - BeautifulSoup 和列表索引
- pycharm - pycharm为什么会有这个运行配置建议?
- javascript - 为什么是这样
组件被推到这个 react-native-draggable-flatlist 之下这么远?