
As you can see from the output, the switch statement completely skips over case 'view1'. And I'm having trouble understanding what the warnings mean.

As you can see from the output, the switch statement completely skips over case 'view1'. And I'm having trouble understanding what the warnings mean.
Try to change the method signature to
- (void)switchViewTo:(NSString *)view
{
if ([view isEqualToString:@"view1"]) {
NSLog(@"view 1");
} else if ([view isEqualToString:@"view2"]) {
NSLog(@"view 2");
} else {
NSLog(@"whatever");
}
}
In the designated initializer you call [self switchToView:@"view1"];