मैंने कोशिश की है लेकिन मुझे बस यह नहीं मिला है। मैं प्रोग्रामिंग के लिए नया हूं इसलिए लगभग हर नया कदम एक प्रयोग है। जबकि मुझे तर्क/रिटर्न के बिना सामान्य बंद करने में कोई समस्या नहीं है, मुझे अब तक समझ में नहीं आया है कि उन कार्यों से निपटने के लिए कैसे करें (एकाधिक) तर्क और अंत में वापस आते हैं।मैं स्विफ्ट में सही तरीके से फ़ंक्शंस कैसे भेजूं?
उचित "काम के आसपास" तर्क का तर्क पाने के लिए यह बहुत अच्छा होगा अगर कोई व्यावहारिक उदाहरण पोस्ट कर सके तो मैं देख सकता था कि मुझे यह सब ठीक है या नहीं। मैं किसी भी तरह की मदद के लिए बहुत आभारी हूं ... अगर कुछ अन्य व्यावहारिक उदाहरण इस विषय को बेहतर तरीके से चित्रित करते हैं, तो कृपया अपने आप से आगे बढ़ें!
मान लें कि हम कम प्राथमिकता वाले पृष्ठभूमि कतार में निम्न फ़ंक्शन को अतुल्यकालिक रूप से प्रेषित करना चाहते हैं (या क्या मैं गलती करता हूं, जब तक फ़ंक्शन को परिभाषित करने की बजाय फ़ंक्शन को परिभाषित करने की कोशिश करता हूं, तब तक इसे किसी और जगह से बुलाया जाता है ?!):
func mutateInt(someInt: Int) -> Int {
"someHeavyCalculations"
return result
}
या कि इसके अलावा में (पृष्ठभूमि कतार में सब कुछ) कुछ बिंदु पर पहले फ़ंक्शन को कॉल करने के लिए कई तर्क के साथ एक समारोह:
func someBadExample(someString: String, anotherInt: Int) -> Int {
"someHeavyStuff"
println(testString)
mutateInt(testInt)
return result
}
या एक यूआई-समारोह है कि सुनिश्चित किया जाना चाहिए मुख्य कतार पर चलाने के लिए (जे उस्त एक काल्पनिक उदाहरण):
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
let sectionInfo = self.fetchedResultsController.sections?[section] as NSFetchedResultsSectionInfo
return sectionInfo.numberOfObjects
}
वहाँ 'dispatch_async_f' में उपयोग करने के लिए कारण नहीं है स्विफ्ट, यह केवल सी फ़ंक्शन के लिए मौजूद है जिसमें ब्लॉक समर्थन नहीं है –
ओह वाह, ठीक है, मैं पूरी तरह गलत हूं! तो मुझे समझ में नहीं आया है कि ** उन पैरामीटर को प्रेषित करने के लिए ** ** पैरामीटर (ओं) और वापसी (ओं) या अन्य शब्दों में, तार्किक तरीके (आसपास काम) वास्तव में केवल ब्लॉक का सामना करने के लिए, कार्यों में नहीं, उस उदाहरण में भी - क्या आप इसे उन (थोड़ा संपादित) संस्करणों के साथ अभ्यास में डाल सकते हैं? –
वैसे भी, आपके इनपुट का सम्मान करते हुए मैंने अब पूरी तरह से अपना प्रश्न संपादित कर लिया है, धन्यवाद! –