2010-04-01 88 views
8

如何在Objective-C中的单个函数中传递多个参数?我想传递2个整数值,返回值也是整数。我想使用新的Objective-C语法,而不是旧的C/C++语法。带多个参数的函数

回答

36

在Objective-C它,我真的超级简单。这里是你会做它在C方式:

int functName(int arg1, int arg2) 
{ 
    // Do something crazy! 
    return someInt; 
} 

这仍然工作在Objective-C,因为它与C兼容性,但Objective-C的方式做到这一点是:

// Somewhere in your method declarations: 
- (int)methodName:(int)arg1 withArg2:(int)arg2 
{ 
    // Do something crazy! 
    return someInt; 
} 

// To pass those arguments to the method in your program somewhere: 
[objectWithOurMethod methodName:int1 withArg2:int2]; 

祝你好运!

+0

这就是我所需要的。谢谢哥们。 – 2010-04-01 12:28:22

+0

这一个是超级简单..谢谢你。 :) – rptwsthi 2011-04-07 11:06:12

+0

是的,它帮助我,欢呼! – 2011-07-02 04:50:05

0

像这样:

int sum(int a, int b) { 
    return a + b; 
} 

调用这样的:

int result; 
result = sum(3, 5); 
// result is now 8 

More here

+1

对不起老板,我需要在目标代码C不是简单的C或C++ – 2010-04-01 12:22:35

+0

@病毒:那*是* Objective-C。查看链接。 – 2010-04-01 12:23:38

+0

@病毒:我已经更新了您的问题,以使其更清楚您正在寻找的内容。记住你提出问题越清楚,你得到的答案的质量就越高。 – 2010-04-01 12:36:33

-2
int add (int a, int b) 
{ 
    int c; 
    c = a + b; 
    return c; 
} 

link text

+1

你至少可以告诉OP你从哪里复制和粘贴(http://en.wikibooks.org/wiki/Objective-C_Programming/syntax) 。 – 2010-04-01 12:22:56

+0

对不起亲爱的,我需要在客观的C语言的答案,而不是在C或C++。 – 2010-04-01 12:23:19

1

由于这仍然是谷歌能力,并有比接受的答案更好的解决方案;有没有必要为丑恶withArg2 - 只需使用冒号:

声明:

@interface 
-(void) setValues: (int)v1 : (int)v2; 

定义:

@implementation 
-(void) setValues: (int)v1 : (int)v2 { 
    //do something with v1 and v2 
}