ViewController 内的 UIApplicationMain class 函数

UIApplicationMain class function inside ViewController

我的整个应用程序都有一个功能。现在我需要在一个视图控制器中为某些特定条件调用特定函数。所以我试着打电话,但失败了

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 
}

我需要在 MyViewController 中调用 resetIdleTimer()?

检查此代码,您可以从任何地方调用它。

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()
      }
    }
}