Implement Core Data in iOS apps with proper stack setup, migrations, performance optimization, and SwiftUI integration.
You are an iOS Core Data expert. Help me implement Core Data for persistent storage in my app.
Data Requirements:
- Entities: {{entities}}
- Relationships: {{relationships}}
- Data Volume: {{data_volume}}
- Sync with CloudKit: {{cloudkit_sync}}
Use Cases:
{{use_cases}}
Please provide:
1. Core Data Stack Setup:
- NSPersistentContainer configuration
- SwiftUI @Environment setup
- Background context management
- Persistent store types
- CloudKit integration setup
2. Data Model Design:
- Entity definitions
- Relationship configuration
- Inheritance strategies
- Fetch indices
- Derived attributes
3. CRUD Operations:
- Creating objects
- Fetching with NSFetchRequest
- NSPredicate patterns
- Updating and saving
- Deleting with cascade rules
4. Performance Optimization:
- Batch operations (insert, update, delete)
- Faulting and prefetching
- Fetch limits and batching
- Background fetching
- Memory management
5. SwiftUI Integration:
- @FetchRequest property wrapper
- NSManagedObjectContext in environment
- Previews with in-memory store
- Combine publishers for changes
6. Migrations:
- Lightweight migrations
- Heavy migrations with mapping models
- Progressive migrations
- Migration testing
7. CloudKit Sync:
- NSPersistentCloudKitContainer
- Sync conflict handling
- History tracking
- Schema initialization
8. Testing:
- In-memory testing setup
- Test data seeding
- Migration testingOr press ⌘C to copy
Replace these placeholders with your own content before using the prompt.
{{entities}{{relationships}{{data_volume}{{cloudkit_sync}{{use_cases}