Swift Data के लिए Swift: पूर्ण गाइड उदाहरण सहित

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

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

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

Swift Data: Apple का Swift के लिए नया ORM

1. यह क्या है और क्यों ज़रूरी है?

Swift Data एक आधुनिक, हल्का ORM (Object-Relational Mapping) फ्रेमवर्क है, जिसे Apple ने WWDC 2023 में पेश किया। यह Swift ऐप्स में डेटा स्टोर करने के लिए बनाया गया है और iOS 17+, macOS 14+, tvOS 17+ और watchOS 10+ को सपोर्ट करता है। Swift Data पुराने Core Data की जगह लेता है और डेटाबेस मैनेजमेंट को आसान, डिक्लेरेटिव और टाइप-सेफ बनाता है।

Swift Data क्यों ज़रूरी है? इसका मुख्य कारण कोड को बहुत सरल बनाना है। NSManagedObject बनाने, कॉन्टेक्स्ट सेट करने और जटिल क्वेरी लिखने की बजाय, डेवलपर सिर्फ Swift क्लासेज़ और मैक्रोज़ (@Model, @Attribute, @Relationship) का उपयोग करके डेटा मॉडल बनाता है। Swift Data अपने आप टेबल बनाने, चेंजेस मैनेज करने और SwiftUI के साथ UI को अपडेट करने का काम करता है।

सबसे बड़ा फायदा SwiftUI के साथ गहरा इंटीग्रेशन है। डेटा में बदलाव होते ही UI अपने आप अपडेट हो जाता है, बिना objectWillChange.send() कॉल किए या लिस्ट रीलोड किए। यह Swift Data को SwiftUI प्रोजेक्ट्स के लिए आदर्श बनाता है, जहाँ लोकल डेटा स्टोर करना हो (जैसे टास्क लिस्ट, नोट्स, सेटिंग्स, कैश)।

2. इंस्टॉलेशन

Swift Data Apple की स्टैंडर्ड लाइब्रेरी का हिस्सा है, जो iOS 17 और macOS 14 से शुरू होता है। इसे अलग से इंस्टॉल करने की ज़रूरत नहीं है (pip, npm, या cargo से)। बस Swift फाइल में फ्रेमवर्क इम्पोर्ट करें।

ज़रूरी: आपके प्रोजेक्ट का Deployment Target iOS 17.0 या macOS 14.0 होना चाहिए।

Xcode में प्रोजेक्ट में जोड़ने का तरीका:

// Swift Data को इंस्टॉल करने की ज़रूरत नहीं। बस इम्पोर्ट करें:
import SwiftData

अगर आप Swift Package Manager (SPM) का उपयोग करते हैं, तो Swift Data को अलग पैकेज के रूप में न जोड़ें — यह SDK में पहले से मौजूद है।

3. त्वरित शुरुआत — एक छोटा काम का उदाहरण

चलिए एक सरल To-Do ऐप बनाते हैं।

import SwiftUI
import SwiftData

// 1. डेटा मॉडल बनाएं
@Model
final class TaskItem {
    var title: String
    var isCompleted: Bool
    var createdAt: Date

    init(title: String, isCompleted: Bool = false) {
        self.title = title
        self.isCompleted = isCompleted
        self.createdAt = Date()
    }
}

// 2. App में कंटेनर सेट करें
@main
struct MyApp: App {
    var body: some Scene {
        WindowGroup {
            ContentView()
        }
        .modelContainer(for: TaskItem.self) // अपने आप कंटेनर बनाता है
    }
}

// 3. View में डेटा का उपयोग करें
struct ContentView: View {
    @Environment(\.modelContext) private var context
    @Query private var tasks: [TaskItem]

    var body: some View {
        NavigationStack {
            List {
                ForEach(tasks) { task in
                    HStack {
                        Text(task.title)
                        Spacer()
                        if task.isCompleted {
                            Image(systemName: "checkmark")
                        }
                    }
                }
                .onDelete(perform: deleteTasks)
            }
            .navigationTitle("कार्य")
            .toolbar {
                ToolbarItem {
                    Button("जोड़ें") {
                        let newTask = TaskItem(title: "नया कार्य \(tasks.count + 1)")
                        context.in                    

अनुशंसाएँ