DORateLimit allows you to rate limit your function calls both by using throttling and debouncing. A good explanation about the differences between debouncing and throttling can be found here.
RateLimit.throttle("throttleFunctionKey", threshold: 1.0) {
print("triggering throttled closure")
}
RateLimit.debounce("debounceFunctionKey", threshold: 1.0) {
print("triggering debounced closure")
}
RateLimit is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod "DORateLimit"
RateLimit is available under the MIT license. See the LICENSE file for more info.