2010-04-01 96 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 
}