Как открыть второе NSWindow? - PullRequest
       8

Как открыть второе NSWindow?

0 голосов
/ 25 февраля 2019

Я пытаюсь открыть второе окно NSWindow при нажатии на кнопку NSTableViewCell.Итак, вот мой код:

func tableView(_ tableView: NSTableView, shouldSelectRow row: Int) -> Bool {
    IndiFlightWC.loadWindow()
    IndiFlightWC.showWindow(nil)
    IndiFlightWC.setMap(indiFlight: FlightList[row]!)
    return true
}

и IndiFlightWC инициализируется следующим образом:

var IndiFlightWC = IndiFlightWindowController()

Я установил точку останова в windowDidLoad моего IndiFlightWindowController, и он никогда не достигнет ее.Итак, мой вопрос: как правильно отобразить новое окно?

Спасибо!

1 Ответ

0 голосов
/ 26 февраля 2019

Ваш метод init почти наверняка неверен.

Если вы посмотрите документацию для NSWindowController , вы увидите, что там перечислены четыре различных метода инициализации.Все они принимают параметры.

Включена ли ваша IndiFlightWindowController xib в ваш проект?Почему бы не попробовать let indiFlightWC = IndiFlightWindowController(windowNibName: "IndiFlightWindowController") и посмотреть, что произойдет.

Пара других советов:

1) имена переменных должны начинаться со строчной буквы.Используйте indiFlightWC вместо IndiFlightWC в качестве имени переменной.Ограничения должны быть для классов.

2) loadWindow не требуется , потому что showWindow должен автоматически вызывать loadWindow.

...