NSStringとswitch 2
switchっぽいものでNSStringを扱うパート2
非常に気持ち悪いですがね
void PJSwitch(NSString * cmpdString, void (^block)(NSString*)) { block(cmpdString); } void PJCase(NSString*constantString,NSString* cmpdString,void (^block)()) { if ([cmpdString isEqualToString:constantString]) block(); }
NSString *fooString = ...; PJSwitch(fooString, ^(NSString *arg1) { // fooString は swith(<ここの部分>) __block BOOL stop = NO; while (1) { PJCase( @"hoge", arg1, ^() { NSLog(@"matched hoge"); stop = YES; }); if (stop) { break; } PJCase(@"fuga", arg1, ^() { NSLog(@"matched fuga"); stop = YES; }); if (stop) { break; } break; } });