Swift - 在没有 ViewController 的情况下以编程方式推送 ViewController
Swift - pushViewController programmatically without ViewController
我想为我的应用程序添加一个倒计时功能,以便在两分钟内重新启动应用程序。我不想在物理上重新启动应用程序。我只想打开ViewController。
问题是这个函数应该从每个 page/ViewController.
调用
所以我创建了一个 Util/Helper class/Singleton 来处理这个问题。但是我不能调用pushViewController方法,因为它不是ViewControllerclass。所以我没有navigationController,我认为不可能传递这个navigationController。
我该如何处理?
将 navigationController 传递给管理器调用了 "unrecognized selector sent to instance" 错误。
@objc func decrementCounter(vc: UINavigationController) {
if(counter == 0) {
let viewController = ViewController()
vc.pushViewController(viewController, animated: true)
} else {
counter -= 1
}
print("Counter: \(counter)")
}
您可以尝试在处理程序上添加“#selector()”。
使用您的第一个 vc 推送(您在 AppDelegate 中初始的 vc)。
你的第一个 vc 必须是 UINavigationController。
推送后记得删除导航堆栈中的旧vc。
我想为我的应用程序添加一个倒计时功能,以便在两分钟内重新启动应用程序。我不想在物理上重新启动应用程序。我只想打开ViewController。 问题是这个函数应该从每个 page/ViewController.
调用所以我创建了一个 Util/Helper class/Singleton 来处理这个问题。但是我不能调用pushViewController方法,因为它不是ViewControllerclass。所以我没有navigationController,我认为不可能传递这个navigationController。 我该如何处理?
将 navigationController 传递给管理器调用了 "unrecognized selector sent to instance" 错误。
@objc func decrementCounter(vc: UINavigationController) {
if(counter == 0) {
let viewController = ViewController()
vc.pushViewController(viewController, animated: true)
} else {
counter -= 1
}
print("Counter: \(counter)")
}
您可以尝试在处理程序上添加“#selector()”。
使用您的第一个 vc 推送(您在 AppDelegate 中初始的 vc)。
你的第一个 vc 必须是 UINavigationController。
推送后记得删除导航堆栈中的旧vc。