Swift (iOS/macOS) में YAML के साथ कार्य — Yams और YamlSwift लाइब्रेरीज़

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

Swift (iOS/macOS) में YAML के साथ कार्य



YAML (YAML Ain't Markup Language) डेटा सीरियलाइज़ेशन का एक सुविधाजनक प्रारूप है, जो कॉन्फ़िगरेशन फ़ाइलों, API विवरण और डेटा आदान-प्रदान के लिए व्यापक रूप से उपयोग किया जाता है। iOS और macOS के लिए Swift इकोसिस्टम में YAML को पार्स और जनरेट करने के लिए कई विश्वसनीय लाइब्रेरीज़ उपलब्ध हैं। इस लेख में हम दो सबसे लोकप्रिय लाइब्रेरीज़ पर विचार करेंगे: Yams और YamlSwift। आप सीखेंगे कि उन्हें प्रोजेक्ट में कैसे स्थापित करें, बुनियादी पार्सिंग, सीरियलाइज़ेशन कैसे करें और संभावित त्रुटियों को कैसे संभालें।



1. लाइब्रेरीज़ का अवलोकन



Yams

Yams YAML के साथ कार्य करने के लिए एक आधुनिक लाइब्रेरी है, जो पूरी तरह से Swift में लिखी गई है। यह YAML 1.2 विनिर्देश का समर्थन करती है, इसमें लेक्सर, पार्सर और सीरियलाइज़ेशन के साधन शामिल हैं। Yams को समुदाय द्वारा सक्रिय रूप से समर्थित किया जाता है और यह Swift Package Manager या CocoaPods का उपयोग करने वाले प्रोजेक्ट्स के लिए उपयुक्त है।



YamlSwift

YamlSwift एक हल्की लाइब्रेरी है, जो पूरी तरह से Swift में लिखी गई है। यह YAML स्ट्रिंग्स और फ़ाइलों को पार्स करने के लिए एक न्यूनतम API प्रदान करती है। YamlSwift सरल परिदृश्यों के लिए आदर्श है, जब YAML की सभी सुविधाओं के पूर्ण समर्थन की आवश्यकता नहीं होती।



2. स्थापना



दोनों लाइब्रेरीज़ को Swift Package Manager (SPM) या CocoaPods के माध्यम से स्थापित किया जा सकता है। दोनों विकल्पों पर विचार करें।



Swift Package Manager के माध्यम से स्थापना (अनुशंसित)

Xcode में File → Add Packages खोलें और रिपॉजिटरी URL डालें:

  • Yams: https://github.com/jpsim/Yams.git
  • YamlSwift: https://github.com/behrang/YamlSwift.git

आवश्यक संस्करण चुनें (अंतिम स्थिर संस्करण अनुशंसित है) और अपने target में पैकेज जोड़ें।



CocoaPods के माध्यम से स्थापना

अपने Podfile में पंक्ति जोड़ें:

# Yams के लिएpod 'Yams'

# YamlSwift के लिएpod 'YamlSwift'

फिर pod install चलाएँ।



3. Yams के साथ YAML पार्सिंग



स्थापना के बाद, Swift फ़ाइल में लाइब्रेरी आयात करें:

import Yams


स्ट्रिंग का बुनियादी पार्सिंग

मान लीजिए, हमारे पास उपयोगकर्ता जानकारी वाली YAML स्ट्रिंग है:

let yamlString = """name: इवान पेत्रोवage: 30languages:  - Swift  - Python  - JavaScript"""

पार्सिंग Yams.load(yaml:) फ़ंक्शन के साथ की जाती है:

do {    if let result = try Yams.load(yaml: yamlString) as? [String: Any] {        print("नाम: \\(result["name"] ?? "")")        print("आयु: \\(result["age"] ?? 0)")        if let languages = result["languages"] as? [String] {            print("भाषाएँ: \\(languages.joined(separator: ", "))")        }    }} catch {    print("YAML पार्सिंग त्रुटि: \\(error.localizedDescription)")}


फ़ाइल से पार्सिंग

Bundle से YAML फ़ाइल लोड करने के लिए उपयोग करें:

guard let filePath = Bundle.main.path(forResource: "config", ofType: "yaml"),      let yamlString = try? String(contentsOfFile: filePath, encoding: .utf8) else {    fatalError("config.yaml फ़ाइल नहीं मिली")}

do { let config = try Yams.load(yaml: yamlString) as? [String: Any] // config के साथ कार्य} catch { print("त्रुटि: \\(error)")}


4. Yams के साथ सीरियलाइज़ेशन (YAML निर्माण)



Yams Swift ऑब्जेक्ट्स को वापस YAML स्ट्रिंग में बदलने की भी अनुमति देता है। Yams.dump(object:) फ़ंक्शन का उपयोग करें:

let dictionary: [String: Any] = [    "name": "अन्ना स्मिर्नोवा",    "age": 25,    "skills": ["iOS", "macOS", "watchOS"]]

do { let yamlString = try Yams.dump(object: dictionary) print(yamlString)} catch { print("सीरियलाइज़ेशन त्रुटि: \\(error)")}

परिणाम इस प्रकार दिखेगा:

age: 25name: अन्ना स्मिर्नोवाskills:-                    

अनुशंसाएँ