Ios 使一个视图控制器侦听另一个视图控制器

Ios 使一个视图控制器侦听另一个视图控制器,ios,objective-c,cocoa-touch,oop,Ios,Objective C,Cocoa Touch,Oop,所以我有两个视图控制器。一个是位置搜索的自动完成,它所做的只是让用户使用GooglePlacesAPI获取地址。另一个允许用户执行关键字搜索,并在表视图中实际显示结果(使用自定义uitablecell) 我想这样做,我可以从一个视图控制器获取地址,执行搜索,并使用在另一个控制器中绘制表的代码来绘制结果 换句话说,我正在寻找一种方法,让一个视图控制器触发一条消息,让另一个视图控制器监听 有没有办法做到这一点?当有多个接收者时,请使用通知。我们只能设置一个代理。 何时使用NSNotification

所以我有两个视图控制器。一个是位置搜索的自动完成,它所做的只是让用户使用GooglePlacesAPI获取地址。另一个允许用户执行关键字搜索,并在表视图中实际显示结果(使用自定义uitablecell)

我想这样做,我可以从一个视图控制器获取地址,执行搜索,并使用在另一个控制器中绘制表的代码来绘制结果

换句话说,我正在寻找一种方法,让一个视图控制器触发一条消息,让另一个视图控制器监听


有没有办法做到这一点?

当有多个接收者时,请使用通知。我们只能设置一个代理。

何时使用NSNotificationCenter检查表:

你需要一对多的关系。您需要很少的观察者对特定通知作出反应。示例:可达性通知。当您的网络可达性发生变化时,例如wi-fi变得不可用,订阅此类型通知的所有对象都将收到这些通知,并可以相应地进行处理。 通过设计,您鼓励松耦合。在上面的示例中,发送“可达性已更改”通知的生产者不知道此通知的可能观察者。它们可能很少,也可能没有。对于观察者来说也是如此,他们不需要知道有关此通知的生产者的任何信息

何时使用学员检查表:

代理应始终仅用于一对一关系。 如果鼓励紧密耦合,请使用代理。请记住,通过使用委托,您可以在对象之间创建更多的相互依赖关系,并与信息流进行更多的协调。 代表的一个很好的例子是UITableView。UITable ViewDelegate鼓励更多的信息流,并在视图控制器和表视图之间创建更多的相互依赖关系

这是您需要的


为什么要和代表一起去?对不起,你在问什么?或者使用通知。让SecondVC在firstVC触发通知时监听通知。像这样吗?如果你想通知多个视图控制器,你可以使用NSNotification另一个wise委托更好。