Encore eliminates duplicate calls by queueing callbacks.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Example
Pod
.gitignore
.travis.yml
KSEncore.podspec
LICENSE
README.md

README.md

Encore

Version License Platform

Usage

Encore is for queueing callbacks. It ensures that a single executor runs a block while other callbacks block.

+ (void)process:(void(^)(NSError *error))callback
{
    static KSEncore *encore;
    static dispatch_once_t token;
    dispatch_once(&token, ^{ encore = [KSEncore new]; });
  
    [encore queue:callback block:^{
        dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
            // ...
            dispatch_async(dispatch_get_main_queue(), ^{
                [encore flush:^(void (^callback)(NSError *error)) {
                    callback(error);
                }];
            });
        });
    }];
}

Installation

Encore is available through CocoaPods. To install it add the following line to your Podfile:

pod "KSEncore"

Author

Kevin Sylvestre, kevin@ksylvest.com

License

Encore is available under the MIT license. See the LICENSE file for more info.