diff options
Diffstat (limited to 'VKPC/NSThread+Blocks.m')
-rw-r--r-- | VKPC/NSThread+Blocks.m | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/VKPC/NSThread+Blocks.m b/VKPC/NSThread+Blocks.m new file mode 100644 index 0000000..c7897dd --- /dev/null +++ b/VKPC/NSThread+Blocks.m @@ -0,0 +1,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 |