Как предотвратить открытие нескольких экземпляров одного и того же окна в macOS? - PullRequest
1 голос
/ 24 марта 2020

Я создаю приложение строки меню Ma c, и у него есть опция Preferences. Когда пользователь нажимает на нее, открывается окно Preferences, в котором отображаются все настройки приложения.

Я открываю окно Preferences, например:

let storyboard = NSStoryboard(name: "Main", bundle: nil)
let windowController = storyboard.instantiateController(withIdentifier: "PreferencesWindowController") as! NSWindowController
windowController.showWindow(self)

Файл: AppDelegate.swift (приведенный выше код запускается, когда пользователь нажимает «Настройки»)

Теперь, если пользователь нажимает два раза, откройте two Preferences windows чего я не хочу. Я хочу, чтобы открывалось только одно окно «Предпочтения», даже если пользователь нажимает несколько раз.

Конечно, я могу создать здесь логический флаг, переключаться и проверять его перед открытием окна, но хотел знать, существует ли какой-либо API (более чистый способ) для достижения этой цели?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...