Swift मानक पुस्तकालय (iOS/macOS): पूर्ण अवलोकन
Swift मानक पुस्तकालय प्रकारों, प्रोटोकॉल और फ़ंक्शनों का एक मूलभूत सेट है जो सीधे भाषा में निर्मित है। यह iOS, macOS, watchOS और tvOS के लिए विकास के लिए आवश्यक बुनियादी कार्यक्षमता प्रदान करता है। Foundation या UIKit फ्रेमवर्क के विपरीत, जो SDK का हिस्सा हैं, Swift मानक पुस्तकालय बिना किसी अतिरिक्त आयात के तुरंत उपलब्ध है। इस लेख में, हम इसके प्रमुख घटकों, डेटा संरचनाओं, प्रोटोकॉल और मेमोरी प्रबंधन तंत्रों का विस्तार से विश्लेषण करेंगे।
मुख्य डेटा प्रकार और संग्रह
Swift प्रदर्शन के लिए अनुकूलित शक्तिशाली और प्रकार-सुरक्षित संग्रह प्रदान करता है।
सरणियाँ (Array)
एक ही प्रकार के तत्वों का क्रमबद्ध संग्रह। यह यादृच्छिक पहुँच और गतिशील आकार परिवर्तन का समर्थन करता है।
var numbers: [Int] = [1, 2, 3]numbers.append(4)let first = numbers[0] // 1numbers.sort()समुच्चय (Set)
अद्वितीय तत्वों का अक्रमबद्ध संग्रह। सदस्यता जाँच और गणितीय संक्रियाओं के लिए आदर्श।
let setA: Set<Int> = [1, 2, 3, 4]let setB: Set<Int> = [3, 4, 5, 6]let intersection = setA.intersection(setB) // {3, 4}let union = setA.union(setB) // {1, 2, 3, 4, 5, 6}शब्दकोश (Dictionary)
"कुंजी-मान" युग्मों का अक्रमबद्ध संग्रह। कुंजियाँ हैशेबल (Hashable) होनी चाहिए।
var capitals: [String: String] = ["रूस": "मास्को", "अमेरिका": "वाशिंगटन"]capitals["जर्मनी"] = "बर्लिन"if let russiaCapital = capitals["रूस"] { print(russiaCapital) // मास्को}प्रोटोकॉल: Swift की बहुमुखी प्रतिभा का आधार
Swift मानक पुस्तकालय प्रोटोकॉल पर बनाया गया है, जो विभिन्न प्रकारों के लिए एक सामान्य इंटरफ़ेस परिभाषित करते हैं।
- Equatable —
==का उपयोग करके इंस्टेंस की तुलना करने की अनुमति देता है। - Hashable — शब्दकोश कुंजी या समुच्चय तत्व के रूप में प्रकार का उपयोग करने के लिए आवश्यक।
- Comparable — वस्तुओं को क्रमबद्ध करने की क्षमता प्रदान करता है (<, >, <=, >=)।
- Codable — JSON, Property List और अन्य प्रारूपों में क्रमांकन के लिए Encodable और Decodable को जोड़ता है।
- CaseIterable — स्वचालित रूप से गणना के सभी मानों का संग्रह प्रदान करता है।
Codable का उपयोग करने का उदाहरण
struct User: Codable { let id: Int let name: String let isActive: Bool}
let json = """{ "id": 42, "name": "इवान", "isActive": true}""".data(using: .utf8)!
let decoder = JSONDecoder()if let user = try? decoder.decode(User.self, from: json) { print(user.name) // इवान}मेमोरी प्रबंधन: ARC और Copy-on-Write
Swift संदर्भ प्रकारों (क्लास) की मेमोरी प्रबंधित करने के लिए Automatic Reference Counting (ARC) का उपयोग करता है। स्ट्रक्चर और एनुम के लिए, मान कॉपी करने की शब्दार्थ लागू होती है, लेकिन संग्रह के लिए Copy-on-Write (COW) अनुकूलन के साथ।
var array1 = [1, 2, 3]var array2 = array1 // जब तक बदलाव न करें — डेटा साझा हैarray2.append(4) // यहाँ वास्तविक कॉपी होती है (COW)print(array1.count) // 3 — मूल सरणी अपरिवर्तित रहीसार्वभौमिक टेम्पलेट (Generics)
Generics प्रदर्शन खोए बिना लचीले और पुन: प्रयोज्य फ़ंक्शन और प्रकार लिखने की अनुमति देते हैं।
func swapTwoValues<T>(_ a: inout T, _ b: inout T) { let temporaryA = a a = b b = temporaryA}
var x = 10var y = 20swapTwoValues(&x, &y) // x = 20, y = 10वैकल्पिक प्रकार (Optionals)
अनुपस्थित मानों के साथ सुरक्षित कार्य — Swift की प्रमुख विशेषताओं में से एक। Optionals null-pointer अपवादों को रोकते हैं।
var optionalString: String? = "नमस्ते"// Optional bindingif let unwrapped = optional पुस्तकालय में भी
Go (Golang) में Kafka के साथ काम: segmentio/kafka-go लाइब्रेरी
Node.js में कार्य कतारें: Bull, Bee-Queue, Kue और Redis पर कार्यान्वयन
TypeScript में डेटाबेस माइग्रेशन: TypeORM, Prisma और Drizzle
Laravel Passport PHP: पूर्ण गाइड OAuth2 सर्वर के साथ उदाहरण
जावा में इमेज प्रोसेसिंग: लाइब्रेरीज़ और कोड उदाहरण