2009-03-03 12 views
7

के साथ एक obj-c विधि को कॉल करना मैंने एक सी-शैली फ़ंक्शन को एक उद्देश्य-सी विधि में बदल दिया है। एक विधि के रूप में, मैं इसका उपयोग कैसे करूं?पैरामीटर

NSString* myfunc(int x) 

     is now: 

    - (NSString *)myFuncWithParam:(int)x 


c code: myString = myfunc(x); // works 

obj-c code: myString = myFuncWithParam(x); // fails to compile. 

जवाब में से एक से: myString = [वस्तु myFuncWithParam: x];

उस स्थिति में, "ऑब्जेक्ट" क्या होगा?

+0

आपको शायद अपने प्रश्न का शीर्षक "पैरामीटर के साथ एक उद्देश्य-सी विधि को कॉल करने" के रूप में संपादित करना चाहिए। – notnot

+0

मैंने ऑब्जेक्ट का वर्णन करने के लिए अपना उत्तर अपडेट कर दिया है ... आप ओब्जे-सी के साथ जारी रखने से पहले ऑब्जेक्ट उन्मुख प्रोग्रामिंग पर थोड़ा सा अध्ययन करना चाह सकते हैं क्योंकि यह एक बहुत ही महत्वपूर्ण अवधारणा है। –

+0

आप सिंटैक्स को थोड़ा सा नहीं बदल सकते हैं और प्रक्रियात्मक सी कोड को ऑब्जेक्टिव-सी के रूप में अचानक काम करने की उम्मीद कर सकते हैं। यह आपके सभी शब्दों में "ओ" को जोड़ने और कल्पना करने की तरह है कि आप स्पैनिश बोल रहे हैं। आपको वास्तव में उद्देश्य-सी सीखना होगा। – Chuck

उत्तर

13

myString = [object myFuncWithParam:x];

कहाँ वस्तु वस्तु जो विधि आप कॉल कर रहे है। यदि आप इसे एक ही वस्तु से बुला रहे हैं, तो आप 'स्वयं' का उपयोग करेंगे। This tutoria एल आपको ओब्जे-सी सीखने में मदद कर सकता है।

0

आप वर्ग कोष्ठक का उपयोग करने की जरूरत है "संदेश" वाक्य रचना:

myString = [myObject myFuncWithParam: मूल्य];

0

विषय/बूढ़े आदमी की ramblings बंद:

एक बार, जब मैं ऊब गया था, मैं C++ के लिए एक Obj सी की तरह वाक्य रचना बनाने के लिए ऑपरेटर ओवरलोडिंग उपयोग करने की कोशिश। मेरा मानना ​​है कि मैं

myString = myObject[myFuncWithParam](value); 

काम करने में सक्षम था।