Swift3 删除特定类别';数组中的完成处理程序

Swift3 删除特定类别';数组中的完成处理程序,swift3,completionhandler,Swift3,Completionhandler,我实现了一种从服务器获取数据的完成处理程序方法。 当一个请求正在进行时,这个方法可能会被任何其他类多次调用,我想在从服务器接收到数据后通知所有人,而不发送多个请求 为了实现这一点,我在线程安全阵列中添加了完成处理程序。 但当从服务器接收数据时,若调用方类在内存中不存在,我想删除特定的完成处理程序 Ex-如果调用了控制器的ViewDidEvale()。我想删除它的处理程序 如何实现这一点?为什么不使用NSNotification而不是那些完成处理程序?我想通过使用completionHandler

我实现了一种从服务器获取数据的完成处理程序方法。 当一个请求正在进行时,这个方法可能会被任何其他类多次调用,我想在从服务器接收到数据后通知所有人,而不发送多个请求

为了实现这一点,我在线程安全阵列中添加了完成处理程序。 但当从服务器接收数据时,若调用方类在内存中不存在,我想删除特定的完成处理程序

Ex-如果调用了控制器的ViewDidEvale()。我想删除它的处理程序


如何实现这一点?

为什么不使用NSNotification而不是那些完成处理程序?我想通过使用completionHandler来解决这个问题。如果我找不到任何方法,我将使用NSNotification。性能方面,哪种方法更好?