在Objective-C2.0中,是否可以在参数可选的情况下创建一个方法?也就是说,可以进行如下方法调用:
[aFraction print];
除此之外:
[aFraction print: someParameter];
在同一个节目中.
苹果的Objective-C 2.0 Programming Language指南将Obj-C与Python进行了对比,似乎说这是不允许的.我还在学习,我想确定.如果可能的话,那么语法是什么,因为我的第二个代码示例不起作用.
Update:
header
-(void) print;
-(void) print: (BOOL) someSetting;
implementation
-(void) print {
[self print:0];
}
-(void) print: (BOOL) someSetting {
BOOL sv;
sv = someSetting;
if ( sv ) {
NSLog(@"cool stuff turned on");
}
else {
NSLog(@"cool stuff turned off");
}
}
the relevant program lines
...
printParamFlag = TRUE;
// no parameter
[aCodeHolder print];
// single parameter
[aCodeHolder print:printParamFlag];
...
我真不敢相信这管用.有什么理由我不该这么做吗?