Функция класса UIApplicationMain внутри ViewController - PullRequest
1 голос
/ 06 февраля 2020

У меня есть функциональность во всем приложении. Теперь мне нужно вызвать определенную c функцию внутри одного контроллера представления для какого-то определенного условия. Поэтому я попытался позвонить, но это не удалось

main.swift

CommandLine.unsafeArgv.withMemoryRebound(to: UnsafeMutablePointer<Int8>.self, capacity: Int(CommandLine.argc))
{   argv in
    _ = UIApplicationMain(CommandLine.argc, argv, NSStringFromClass(MyClass.self), NSStringFromClass(AppDelegate.self))
}

MyClass.swift

class MyClass: UIApplication {
  func resetIdleTimer() {

  }
}

MyViewController.swift

class MyViewController: UIViewController {
    MyClass.resetIdleTimer(); //this causes error in 
}

Мне нужно позвонить resetIdleTimer() внутри MyViewController?

1 Ответ

0 голосов
/ 06 февраля 2020

Проверьте этот код, Вы можете позвонить из любой точки мира.

if let obj = MyClass.shared as? MyClass {
    obj.resetIdleTimer()
}

Например Вы можете позвонить в поле зрения контроллера

class MyViewController: UIViewController {
    override func viewDidLoad() {
      super.viewDidLoad()
      if let obj = MyClass.shared as? MyClass {
          obj.resetIdleTimer()
      }
    }
}
...