[Objective-C] मैं उद्देश्य-सी में एकाधिक पैरामीटर कैसे पास करूं?


Answers

आपको प्रत्येक पैरामीटर नाम को कम से कम ":" के साथ सीमित करने की आवश्यकता है। तकनीकी रूप से नाम वैकल्पिक है, लेकिन पठनीयता के लिए इसकी अनुशंसा की जाती है। तो आप लिख सकते हैं:

- (NSMutableArray*)getBusStops:(NSString*)busStop :(NSSTimeInterval*)timeInterval;

या आपने जो सुझाव दिया है:

- (NSMutableArray*)getBusStops:(NSString*)busStop forTime:(NSSTimeInterval*)timeInterval;
Question

मैंने उद्देश्य-सी विधि वाक्यविन्यास के बारे में कई पोस्ट पढ़ी हैं, लेकिन मुझे लगता है कि मैं किसी विधि के लिए एकाधिक नाम नहीं समझता हूं।

मैं NSString और getBusStops पैरामीटर के साथ getBusStops नामक एक विधि बनाने और NSMutableArray का रिटर्न प्रकार बनाने का प्रयास कर रहा हूं। इस तरह मैंने विधि का निर्माण किया है लेकिन यह निश्चित रूप से रनटाइम पर त्रुटियों को प्राप्त करता है:

- (NSMutableArray *)getBusStops:(NSString *)busStop
                                (NSTimeInterval *)timeInterval;

मैंने एक विधि के साथ एक और उदाहरण देखा:

-(NSInteger)pickerView:(UIPickerView *)pickerView
            numberOfRowsInComponent:(NSInteger)component

मुझे समझ में नहीं आता कि इस विधि के प्रत्येक पैरामीटर के लिए विधि का नाम क्यों है। क्या मुझे ऐसा कुछ करना चाहिए जैसा कि:

- (NSMutableArray *)getBusStops:(NSString *)busStop
                        forTime:(NSTimeInterval *)timeInterval



प्रत्येक पैरामीटर से पहले पाठ विधि नाम का हिस्सा है। आपके उदाहरण से, विधि का नाम वास्तव में है

-getBusStops:forTime:

प्रत्येक: एक तर्क का प्रतिनिधित्व करता है। एक विधि कॉल में, विधि का नाम एस पर विभाजित होता है और तर्क: seg के बाद प्रकट होते हैं

[getBusStops: arg1 forTime: arg2]



(int) add: (int) numberOne plus: (int) numberTwo ;
(returnType) functionPrimaryName : (returnTypeOfArgumentOne) argumentName functionSecondaryNa

मुझे:

(returnTypeOfSecontArgument) secondArgumentName ;

जैसा कि अन्य भाषाओं में हम निम्नलिखित सिंटैक्स शून्य add(int one, int second) लेकिन OBJ_c में तर्क निर्दिष्ट करने का तरीका ऊपर वर्णित है




Links