【发布时间】:2018-07-16 23:01:56
【问题描述】:
我正在以例如 fetchData() 的方法从服务器获取数据。
我想以这样的方式编写逻辑,如果 fetchData() 从不同的类调用两次(一个接一个),一旦网络调用完成,两个类都应该得到通知。
我的 fetchData() 方法是基于块的。
基本上,我想实现以下目标- 如果正在进行 n/w 调用,则对 fetchDAta() 的另一个调用不应启动 n/w 调用以获取相同的数据。
举例
fetchData() 方法用于在两个视图控制器(例如 A 和 B)上显示数据。
如果用户在控制器 A 上,则将启动 **fetchData()** 调用,如果在完成之前用户移动到控制器 B,控制器 B 也调用 fetchData() 来显示数据。然后再次进行网络调用或其他操作。
如果我们知道数据是相同的,有什么方法可以在第一次调用该方法完成后将相同的数据传递给控制器 B,而无需再次启动 n/w 调用?
如何为控制器 A 和 B 调用完成处理程序?
【问题讨论】:
标签: swift block cocoa-design-patterns