मैं आमतौर पर एक अलग वर्ग बनाता हूं यदि मेरे पास ऐसे कार्य हैं जिनका उपयोग कई वर्गों द्वारा किया जाएगा, खासकर नेटवर्क संचालन वाले लोगों के लिए।
तुम सिर्फ अलग कार्यों कि उपयोग किया जाएगा है, तो आप बस उस वर्ग के भीतर स्थिर कार्यों बना सकते हैं जिससे यह आसानी से एक स्थिर रास्ते में अन्य वर्गों से पहुँचा जा सकता है:
class DataController {
static func getData() -> [String:String] {
// do some operations
return ["someData" : "someData"]
}
}
let data = DataController.getData() // example
हालांकि, जो अक्सर किया गया है मेरे लिए मामला (विशेष रूप से यदि इसमें अधिक जटिल परिचालन शामिल हैं) यह था कि इन नेटवर्क संचालनों को पहले से प्रारंभिक कनेक्शन स्थापित करने या कुछ आरंभिक सेटअप की आवश्यकता होती थी, और उन्होंने नियंत्रित करने के लिए आवश्यक असीमित संचालन भी किया। यदि यह मामला है और आप अक्सर ऐसी विधियों को बुलाएंगे, तो आप एक सिंगलटन ऑब्जेक्ट बनाना चाहते हैं जिसे आप विभिन्न वर्गों और कार्यों में उपयोग कर सकते हैं। इस तरह, आप प्रारंभिक सेटअप कर सकते हैं या केवल एक बार प्रारंभिक कनेक्शन स्थापित कर सकते हैं, और फिर बाकी कार्यों के साथ बाकी की तरह कार्य करें, जब भी फ़ंक्शन को कॉल किया जाता है।
एक सिंगलटन वस्तु बनाना स्विफ्ट में बहुत सरल है:
class DataController {
static let sharedInstance = DataController() // singleton object
init() {
// do initial setup or establish an initial connection
}
func getData() -> [String:String] {
// do some operations
return ["someData" : "someData"]
}
}
let data = DataController.sharedInstance.getData() // example
क्लास के नाम के लिए, मैं आम तौर पर यह DataController
या DataHelper
जैसा कोई नाम है, लेकिन कुछ भी है कि एक "सहायक" वर्ग के रूप में समझ में आता है होगा काम।
आशा इस मदद करता है :)
एक अलग स्विफ्ट फ़ाइल बनाएं और इस तरह के सभी कार्यों को उसमें रखें। आप इसे पूरे कोड में उपयोग कर सकते हैं। – Kapil