2010-04-01 19 views
8

उद्देश्य-सी में एक ही फ़ंक्शन में एकाधिक तर्क कैसे पारित करें? मैं 2 पूर्णांक मानों को पास करना चाहता हूं और वापसी मूल्य भी पूर्णांक है। मैं नए उद्देश्य-सी वाक्यविन्यास का उपयोग करना चाहता हूं, पुराने सी/सी ++ वाक्यविन्यास नहीं।एकाधिक तर्कों के साथ फ़ंक्शन

उत्तर

36

उद्देश्य-सी यह मैं में वास्तव में बहुत आसान है।

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

यह अभी भी उद्देश्य-सी इसकी वजह से में काम करता है सी के साथ संगतता है, लेकिन उद्देश्य-सी जिस तरह से यह करने के लिए किया गया है:: यहाँ जिस तरह से आप सी में ऐसा होता है

// 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

यही वही है जो मुझे चाहिए था। धन्यवाद दोस्त। –

+0

यह एक बहुत आसान है .. धन्यवाद या। :) – rptwsthi

+0

हाँ, यह मेरी मदद की, चीयर्स! –

0
इस तरह

:

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

इस तरह कहा जाता है:

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

More here

+1

खेद मालिक, मैं उद्देश्य में कोड की जरूरत ग सरल सी या C++ –

+0

में नहीं @ वायरल: वह * उद्देश्य * सी है। लिंक देखें। –

+0

@ वायरल: मैंने यह प्रश्न स्पष्ट कर दिया है कि आप जो खोज रहे थे उसे स्पष्ट करें। याद रखें कि जितना स्पष्ट आप अपना प्रश्न बनाते हैं, उतना ही अधिक उत्तरों की गुणवत्ता आपको मिलेगी। –

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

link text

+1

आप कम से कम ओपी को बता सकते हैं जहां आपने इसकी प्रतिलिपि बनाई और चिपकाया (http://en.wikibooks.org/wiki/Objective-C_Programming/syntax) । –

+0

क्षमा करें प्रिय, मुझे सी या सी ++ में नहीं, उद्देश्य सी भाषा में जवाब चाहिए। –

1

चूंकि यह अभी भी Google-सक्षम है और स्वीकृत उत्तर से बेहतर समाधान हैं; घृणित withArg2 के लिए कोई आवश्यकता नहीं है - कोलन बस का उपयोग करें:

घोषणा:

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

परिभाषा:

@implementation 
-(void) setValues: (int)v1 : (int)v2 { 
    //do something with v1 and v2 
} 
संबंधित मुद्दे