在AppDelegate.swift中,我声明了一个NSStatusBar对象,如下所示:

var statusItem = NSStatusBar.system.statusItem(withLength: NSStatusItem.variableLength)
statusItem.button?.title = "chess"
statusItem.button?.target = self
statusItem.button?.action = #selector(showSettings)

工作正常,但我想更改viewController.swift中的标题
我正在尝试(在视图控制器中):
var appd = AppDelegate()
appd.statusItem.button?.title = "ELO: \(parsing2.chess_daily.last.rating)"

但标题不变。。。我该怎么做???

最佳答案

NSApplication获取委托对象,默认初始化器AppDelegate()创建一个新的不相关实例。

let appDelegate = NSApp.delegate as! AppDelegate
appDelegate.statusItem.button?.title = "ELO: \(parsing2.chess_daily.last.rating)"

关于swift - 从ViewController访问AppDelegate中的对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56328213/

10-11 21:55