aboutsummaryrefslogtreecommitdiff
path: root/VKPC/NSThread+Blocks.m
blob: c7897dda8ac55fb8720fe2430f0abf30777e88c6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
//
// NSThread+Blocks.m
// Shopify_Mobile
//
// Created by Matthew Newberry on 9/3/10.
// Copyright 2010 Shopify. All rights reserved.
//

#import "NSThread+Blocks.h"

@implementation NSThread (BlocksAdditions)

- (void)performBlock:(void (^)())block {
    if ([[NSThread currentThread] isEqual:self]) {
        block();
    } else {
        [self performBlock:block waitUntilDone:NO];
    }
}

- (void)performBlock:(void (^)())block waitUntilDone:(BOOL)wait {
    [NSThread performSelector:@selector(ng_runBlock:)
                     onThread:self
                   withObject:block
                waitUntilDone:wait];
}

+ (void)ng_runBlock:(void (^)())block {
    block();
}

@end