【发布时间】:2010-10-08 08:27:31
【问题描述】:
在 Objective-C 2.0 中,是否可以创建一个参数是可选的方法?也就是说,你可以有这样的方法调用:
[aFraction print];
还有这个:
[aFraction print: someParameter];
在同一个程序中。
Apple 的 Objective-C 2.0 编程语言 指南将 Obj-C 与 Python 进行了对比,似乎说这是不允许的。我还在学习,我想确定一下。如果它是可能的,那么语法是什么,因为我的第二个代码示例不起作用。
更新: 好的,我刚刚做了两个方法,都叫“print”。
标题
-(void) print;
-(void) print: (BOOL) someSetting;
实现
-(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");
}
}
相关的程序行
...
printParamFlag = TRUE;
// no parameter
[aCodeHolder print];
// single parameter
[aCodeHolder print:printParamFlag];
...
我不敢相信这有效。有什么理由我不应该这样做吗?
【问题讨论】:
标签: objective-c