通过viewWillAppear获取通知 - 在另一个VC中?

时间:2018-05-27 00:06:06

标签: ios swift uiviewcontroller

说你有

var someVC: UIViewController

是否有可能基本上以某种方式执行以下操作?

get a notification when {
   someVC has a viewWillAppear
   self.#selector(wow)
}

@objc func wow() {
   print("we spied on that view controller, and it just willAppeared"
}

这可能吗?

(或者也许在didLayoutSubviews上?)

(我知道,很明显,你可以通过向有问题的UIViewController添加一行代码来做到这一点。这很明显。我问我们是否可以&# 34;从其他地方加上#34;

1 个答案:

答案 0 :(得分:1)

如果我正确理解您的问题,您希望ViewController B在ViewController A中调用viewWillAppear时收到通知吗?您可以通过Notifications框架执行此操作。请记住,必须加载一个VC来接收一个VC才能收到通知。

或者,如果两个VC同时出现在屏幕上,那么我建议使用一个代理模式 - 让VC A告诉一个总体控制器类它是{{1 \ n}已被调用,然后这个总体控制器将通知ViewController B.

使用通知执行此操作: (这是来自记忆,所以请原谅错别字)

viewWillAppear

Documentation