Ios 一次通知所有视图

Ios 一次通知所有视图,ios,swift,nsnotificationcenter,Ios,Swift,Nsnotificationcenter,当我启动应用程序时,我正在尝试将观察者添加到我的所有视图中。 当有帖子发布时,我想在当前视图控制器的顶部显示一个模式视图 有没有办法直接在每个视图上安装它,或者我需要执行以下操作 viewWillAppear : add viewDidDisappear : remove 每次都能解决吗 您可以为所有视图控制器创建一个超类,并覆盖ViewWillExample/ViewDidEnglishe 如果没有异常,并且无论屏幕上当前显示的是哪个视图控制器,您都希望显示一个模式视图控制器,则可以通过Ap

当我启动应用程序时,我正在尝试将观察者添加到我的所有视图中。 当有帖子发布时,我想在当前
视图控制器
的顶部显示一个模式视图

有没有办法直接在每个视图上安装它,或者我需要执行以下操作

viewWillAppear : add
viewDidDisappear : remove
每次都能解决吗

  • 您可以为所有视图控制器创建一个超类,并覆盖ViewWillExample/ViewDidEnglishe
  • 如果没有异常,并且无论屏幕上当前显示的是哪个视图控制器,您都希望显示一个模式视图控制器,则可以通过AppDelegate的DidReceiveMemoteNotification方法中的self.window.rootViewController来显示它
  • 您可以为所有视图控制器创建一个超类,并覆盖ViewWillExample/ViewDidEnglishe
  • 如果没有异常,并且无论屏幕上当前显示的是哪个视图控制器,您都希望显示一个模式视图控制器,则可以通过AppDelegate的DidReceiveMemoteNotification方法中的self.window.rootViewController来显示它

  • 像这样创建父类,并为所有其他类创建子类

    import UIKit
    
    class TemplateClassVC: UIViewController {
    
    
    override func viewWillAppear() {
    }
    
    override func viewDidDisappear() {
    }
    
    
    }
    
    然后像这样找到TopViewController

    像这样创建父类,并对所有其他类进行子类化

    import UIKit
    
    class TemplateClassVC: UIViewController {
    
    
    override func viewWillAppear() {
    }
    
    override func viewDidDisappear() {
    }
    
    
    }
    
    然后像这样找到TopViewController

    您可以使所有UIViewController继承自一个UIViewController,该UIViewController将添加/删除观察,甚至显示模式视图。您可以使所有UIViewController继承自一个UIViewController,该UIViewController将添加/删除观察,甚至显示模式视图。您还可以swizzle
    ViewDidDisplay:
    和/或
    视图将消失:
    。我可能自己也会使用选项1,但这是一个选项。您也可以滑动
    viewdide:
    和/或
    viewdire:
    。我自己可能会使用选项1,但这是一个选项。