Is it possible to have a recursive block? I tried the code below, but it gives a "block is nil" message.
Code:
NSArray *arr = [NSArray arrayWithObjects:@"test",[NSArray arrayWithObject:@"test"],nil];
__block NSMutableArray *output = [NSMutableArray arrayWithCapacity:10];
void (^recusive_loop)(id, NSUInteger, BOOL *) = ^(id obj, NSUInteger idx, BOOL *stop) {
if ([[obj class] isSubclassOfClass:[NSArray class]])
[obj enumerateObjectsUsingBlock:recusive_loop];
else
[output addObject:obj];
};
[arr enumerateObjectsUsingBlock:recusive_loop];