1. Apa Itu SwiftData?
1. Apa Itu SwiftData?
SwiftData adalah framework persistensi dari Apple yang diperkenalkan di WWDC 2023 (Xcode 15, iOS 17 / macOS 14). Framework ini dirancang sebagai pengganti modern Core Data yang lebih ekspresif, type-safe, dan terintegrasi erat dengan Swift macro system serta SwiftUI.
SwiftData tidak menghapus Core Data dari bawahnya — secara internal SwiftData masih menggunakan Core Data stack sebagai fondasi. Yang berubah adalah bagaimana developer berinteraksi dengannya: dari NSManagedObject subclass, XML data model editor, dan NSFetchRequest yang verbose menjadi @Model macro, @Query, dan #Predicate yang sepenuhnya berbasis Swift.
Di WWDC 2024 (Xcode 16, iOS 18 / macOS 15), SwiftData mendapat pembaruan signifikan:
#Uniqueconstraint di level macro@ModelActoruntuk background processing yang aman di Swift 6- Compound
#Predicateyang lebih ekspresif - History tracking API
@Previewablemodifier untuk preview di SwiftUI
Posisi dalam Ekosistem Swift
┌─────────────────────────────────────────────────────────┐
│ Aplikasi Anda │
├──────────────┬──────────────────────┬───────────────────┤
│ SwiftUI │ UIKit │ Background Task │
│ (@Query) │ (ModelContext CRUD) │ (@ModelActor) │
├──────────────┴──────────────────────┴───────────────────┤
│ SwiftData Layer │
│ @Model │ ModelContainer │ ModelContext │
├─────────────────────────────────────────────────────────┤
│ Core Data Stack (internal) │
│ NSPersistentContainer │ NSManagedObjectContext │
├─────────────────────────────────────────────────────────┤
│ SQLite / In-Memory Store │
└─────────────────────────────────────────────────────────┘
SwiftData cocok digunakan bersama SwiftUI karena keduanya berbagi model reaktif yang sama. Namun SwiftData juga bisa digunakan tanpa SwiftUI — di UIKit, AppKit, bahkan command-line tools.