swift 4.2, как получить доступ к инициированному viewController из другого класса - PullRequest
0 голосов
/ 09 мая 2019

Здесь.

Мне трудно получить доступ к моему инициированному viewController, который программно добавляется на лету посредством делегата.

  1. Делегат, определенный в моем FileDelegate.swift как:
    protocol FileDelegate: class {
      func fileReceived(_ data: String)
    }
Делегат был реализован в моем viewController.swif как:
    class MainContentViewController: NSViewController {
      init(backgroundColor: NSColor) {
        self.backgroundColor = backgroundColor
        super.init(nibName: "co.xprecision.mainContentViewController", bundle: nil)
      }
    }

    extension MainContentViewController: FileDelegate{
      func fileReceived(_ data: String){
        print("File size loaded: -> \(data.count)")
      }
    }
ViewController был инициализирован в другом классе (NSSplitVerticalViewController.swift) как:
    lazy var vcD = MainContentViewController(backgroundColor: .white)
    ......
    private func setupUI() {
      vcD.view.widthAnchor.constraint(greaterThanOrEqualToConstant: 100).isActive = true
    }

Пользовательский интерфейс отображается правильно и журнал показывает, что MainContentViewController был запущен.

Мой вопрос: как яможет получить доступ к инициированному viewcontroller, используя имя пера или что-то еще?

У кого-нибудь есть такой опыт, пожалуйста, посоветуйте.

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