में किसी विधि से एकाधिक मान लौटाते हुए मैंने एक समान प्रश्न पूछा, लेकिन मैं इसे ठीक से काम नहीं कर सका। मैं एक आईफोन ऐप बना रहा हूं, और एक ऐसी विधि है जिसे मैं विभिन्न फाइलों से बुलाता हूं। मैंने पाया कि सबसे आसान तरीका किसी अन्य फ़ाइल में विधि बनाना होगा, और अन्य फ़ाइलों से विधि को कॉल करना होगा।उद्देश्य-सी
यहां कुछ समस्याएं हैं। मुझे कई मानों को पारित करने के बाद, विधि से कई मान वापस करने की आवश्यकता है। उदाहरण के लिए, मैं इसे पास कर रहा हूं: (int, int, int, string, string)
। और इसे बदलने के बाद, उन सभी मूल्यों को वापस करने की आवश्यकता है। मुझे किसी ने इसके कोड से पता चला है:
- (NSDictionary *)EndOfTurn:(int)varTurns withFatness:(int)varFatness
{
varTurns--;
if (varTurns <= 0) {
varFatness = varFatness - 5;
}
else {
varFatness += 2;
}
return [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithInt:varFatness], @"FATNESS", [NSNumber numberWithInt:varTurns], @"TURNS", nil];
}
हालांकि, इस कोड काम नहीं करता है, और मैं कुछ और जानकारी चाहिए वास्तव में यह समझना महत्वपूर्ण है। आइए मान लें कि मैं इसे इन मानों को पास कर रहा हूं:
int varMoney;
int varNumSheep;
int varNumShepherds;
NSString *test1;
NSString *test2;
इसलिए मुझे इन सभी मानों को विधि से वापस प्राप्त करने की आवश्यकता है।
मैं इसे हेडर फ़ाइल में कैसे घोषित करूं? यह एक उद्देश्य-सी फ़ाइल में होना चाहिए, लेकिन क्या आप मुझे पूरी फाइल के लिए कोड दे सकते हैं ताकि मैं देख सकूं कि यह @implementation
और @end
, क्या नहीं होगा। इसके अलावा, मैं इस विधि को कैसे कॉल करूं?
मैं कहना है कि चाहते हैं 'withFatness' एक समारोह का एक अद्भुत टुकड़ा है। – Malaxeur
आपको इस फ़ंक्शन के परिणाम को भी बनाए रखने की आवश्यकता होगी। क्योंकि जिस शब्दकोश को आप लौट रहे हैं वह सुविधा विधि से है, यह स्वत: समाप्त हो गया है, और अगर बनाए रखा नहीं जाता है तो जल्द ही गायब हो जाएगा। यानी जब आप इसे कॉल करते हैं तो आप ऐसा कुछ करेंगे: NSDictionary * myDic = [self EndOfTurn: साथ बदलता है फटनेस: मोटापा]; [myDic बनाए रखना]; –
और फिर [myDic रिलीज]; जब आप अच्छे होते हैं और इसके साथ किया जाता है। –