aboutsummaryrefslogtreecommitdiff
path: root/VKPC/NSThread+Blocks.m
diff options
context:
space:
mode:
Diffstat (limited to 'VKPC/NSThread+Blocks.m')
-rw-r--r--VKPC/NSThread+Blocks.m32
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