Доступ к объекту в AppDelegate из ViewController - PullRequest
0 голосов
/ 27 мая 2019

В 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)"

Но название не меняется ... как я могу это сделать ???

1 Ответ

1 голос
/ 27 мая 2019

Получить объект делегата из NSApplication, инициализатор по умолчанию AppDelegate() создает новый не связанный экземпляр.

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