Why can I declare/define a method like this:
@interface Dog : NSObject
- (void) doStuff:(NSInteger)val;
@end
...
@implementation Dog
- (void) doStuff:(NSInteger)val {
NSLog(@"arg was valid");
}
@end
...and call it like this:
Dog* mydog = [[Dog alloc] init];
[mydog doStuff:YES]; //=>arg was valid
I've read that BOOL is a typedef for a signed char. Usually in Xcode6, if the types don't exactly match, I get all kinds of warnings that tell me to cast to the proper type, and Xcode will insert the casts for me if I click on the right spot.