速率限制控制器。
使用CocoaPods安装。
pod 'QBRateLimit'
然后导入头文件。
#import "QBRateLimit.h"
基本使用是设置interval
和limit
属性,并使用performRequest
来减少剩余的计数。
QBRateLimit *rateLimit = [[QBRateLimit alloc] init];
rateLimit.interval = 10.0;
rateLimit.limit = 2;
NSLog(@"Remaining: %lu", rateLimit.remaining); // 2
NSLog(@"Exceeded: %@", [rateLimit isExceeded] ? @"YES" : @"NO"); // NO
[rateLimit performReqeust];
NSLog(@"Remaining: %lu", rateLimit.remaining); // 1
NSLog(@"Exceeded: %@", [rateLimit isExceeded] ? @"YES" : @"NO"); // NO
[rateLimit performReqeust];
NSLog(@"Remaining: %lu", rateLimit.remaining); // 0
NSLog(@"Exceeded: %@", [rateLimit isExceeded] ? @"YES" : @"NO"); // YES
您可以使用方便的设置器。
QBRateLimit *rateLimit = [[QBRateLimit alloc] init];
rateLimit.perHour = 60;
perHour
将interval
设置为3600.0
,将limit
设置为60
。
当速率限制重置时,您可以收到通知。
- (void)somewhere
{
...
self.rateLimit.delegate = self;
}
...
// QBRateLimitDelegage
- (void)rateLimitDidReset:(QBRateLimit *)rateLimit
{
// Rate limit was reset
}
QBRateLimit在MIT许可证下可用。
有关更多信息,请参阅LICENSE文件。