I think the reason why you are experiencing this issue it because you are NSLoging [uppercase UTF8String]
which you never set the the new uppercase value. You should use NSLog(@"Uppercase conversion: %s", [obj UTF8String]);
because obj is set to the uppercase conversion, or rename your variables.
So case 4 should look like this:
case 4:
//Change all letters to Upper Case
obj = [uppercase uppercaseString];
NSLog(@"Uppercase conversion: %s", [obj UTF8String]);
break;