Con*_*sed 3 parameters objective-c optional-parameters
从Objective C Programming Guide(在"Object Messaging"部分下),
采用可变数量参数的方法也是可能的,尽管它们有点罕见.在方法名称结束后,使用逗号分隔额外参数.(与冒号不同,逗号不被视为名称的一部分.)在下面的示例中,假想的makeGroup:方法传递一个必需参数(组)和三个可选参数:
[接收者makeGroup:group,memberOne,memberTwo,memberThree];
我试图创建这样一个方法,它显示一个错误
"预期';' 方法原型之后"
当我尝试在我的接口文件(.h文件)中声明以下函数时.
- (void) printMyClass: (int) x, (int) y, (int) z;
Run Code Online (Sandbox Code Playgroud)
任何人都可以举例来创建像这样的方法 makeGroup
谢谢
Neo*_*Neo 14
你可以看到这个链接.
在头文件中,定义末尾有三个点的方法
-(void)yourMethods:(id)string1,...;
Run Code Online (Sandbox Code Playgroud)
并在你的实现文件中写入方法体
-(void)yourMethods:(id)string1, ...{
NSMutableArray *arguments=[[NSMutableArray alloc]initWithArray:nil];
id eachObject;
va_list argumentList;
if (string1)
{
[arguments addObject: string1];
va_start(argumentList, string1);
while ((eachObject = va_arg(argumentList, id)))
{
[arguments addObject: eachObject];
}
va_end(argumentList);
}
NSLog(@"%@",arguments);
}
Run Code Online (Sandbox Code Playgroud)
现在打电话给你的方法
[self yourMethods:@"ab",@"cd",@"ef",@"gf",nil];
Run Code Online (Sandbox Code Playgroud)
注意:记得把nil放在最后
| 归档时间: |
|
| 查看次数: |
7746 次 |
| 最近记录: |