There’s no default parameters in ObjC.
You can create 2 methods though:
-(void)fooWithA:(int)a b:(int)b c:(int)c {
...
}
-(void)fooWithA:(int)a b:(int)b {
[self fooWithA:a b:b c:0];
}
For C : there’s nothing special added to the C subset by using ObjC. Anything that cannot be done in pure C can’t be done by compiling in ObjC either. That means, you can’t have default parameters, nor overload a function. Create 2 functions instead.