I need to hit the same
It's possible to coalesce (combine)
NSOperation subclasses that are the same task together so removing any redundant network calls. In order to do this each operation needs to have an
identifier that is unique to the task (not the operation itself) and can be used to determine if that operation is in the queue. Once an operation has been determined as being in the queue, we can then take the new operation's block/closure callback and insert it into the older operations structure so ensuring that when the older operation's task is complete, both callbacks are triggered. This helps to avoid a scenario where you have missing callbacks in your app.
I've written an article that covers this exact topic:
Please note, that this only works for operations that are still in the queue, if you want to limit operations based on a time interval then you need to extend your "traffic controller", like "Code Different" commented.