
Explore core data in iOS through hands-on exercises, including creating, saving, fetching, and marking to-do items complete, set up the core data stack, and migrate, iCloud sync, and custom migrations.
Identify prerequisites for core data in iOS, basic swift knowledge, familiarity with swift ui, and understanding of views, view, controller, and navigation; require a mac with xcode and hands-on practice.
Access each lecture's exercise files and download the resources, then run them in Xcode to see working code and fixes that show improved approaches.
Learn how Core Data provides on-device storage with an object graph that persists to SQLite, supports iCloud sync, validation, and efficient fetching.
Discover core data stack by defining data blueprint with the managed object model, coordinating persistent store with the persistent store coordinator, and managing in-memory changes via the managed object context.
Explore core data models as the blueprint for your app data, defining entities, attributes, and relationships like users, tasks, and categories, with data types, optionality, and integrity.
Build a to-do list app in swift ui and core data, adding items to a pending list, moving them to the completed state, and editing or deleting items.
Create a core data model for a to-do item with a non-optional title and a completed boolean defaulting to false, using class definition code generation for SQLite storage.
Implement a core data provider to initialize a persistent container for production and preview, including in-memory mode, view context access, and seeding dummy todo items for previews.
Create and save a to-do item using core data, manage the context, validate input, and persist data in a core data stack for preview and device storage.
Fetch todo items with the core data fetchrequest property wrapper and display them in a list; separate pending and completed items by filtering on the is completed property.
Tap check boxes to mark todo items as completed or pending, moving items between lists. Update the todo item state and save changes with a dedicated update flow.
Enable in place editing by replacing title label with a text field for pending todos and binding it to the item's title. Disallow edits on completed items and persist updates.
use content unavailable view in iOS 17 to show a 'no items found' message and image when pending or completed lists are empty; render items with for each when present.
Learn how to safely delete items in Core Data using pending and completed to do collections, delete via context, and persist changes with context.save, switching from in-memory to SQLite.
Explore building a budget app integrated with iCloud, including creating budgets, adding expenses, updating items, and reflecting spent and remaining amounts across devices.
Create and configure the core data stack with a core data provider, a persistent container, and a view context, including an in-memory option for previews.
Build a budget category model in core data, define a budget entity with title, amount, and date created, name the data model budget app model, and enable saving and display.
Create budget list and add budget screens with a navigation stack and sheet, using a form with name and limit fields, validating input and preventing duplicate budget titles.
Configure an in-memory core data preview with seed data, creating an entertainment budget and saving the context, then use a fetch request to preview the UI.
Learn to add budgets to a Core Data in-memory store, inject the managed object context, prevent duplicates with a budget extension, and save with error handling.
Display all budgets in a list and format each limit using locale.current.currencyIdentifier with a budget cell view, refactoring into a views folder for organization.
Explore one-to-many relationships with examples like a person owning cars and a post with many reviews; model and implement these relations in Core Data from both ends.
Summarizes adding an expense entity with title, amount, and created date, and configuring a one-to-many budget-to-expense relationship with cascade delete in Core Data for iOS app development.
Implement a budget detail screen container to pass budgets and support fetch requests. Add a form to create expenses with title and amount, validate data, and enable the save button.
Add an expense to an existing budget by creating an expense with a title, amount, and date created using the managed object context, linking to the budget, and saving.
Display expenses for a budget with a dynamic Core Data fetch request that tracks changes and avoids NSSet to array conversion, ensuring the UI updates with edits.
Display the total of expenses and the remaining budget in a Core Data iOS app, using a groceries example, currency formatting, and preview data for debugging.
Explore deleting an expense in a Core Data backed SwiftUI app, including an on delete handler, a refactored expense cell view, and a fetch request with a preview context.
Explore many-to-many relationships in Core Data, illustrated by a recipe and its ingredients, and see how a pivot table connects them in the data model.
Seed default tags into Core Data on first launch using a tag feeder with a managed object context, and track seeded state with user defaults.
Build a tags view that displays and selects tags from the preview Core Data context, shows tags in a horizontal scroll, and binds selected tags to update expense relationships.
Learn to assign multiple tags to expenses using a tags view, validate selections, and display tags in budget details and expense cells within a Core Data iOS app.
Learn how to display and manage expense tags in a Core Data iOS app using a many-to-many relationship, fetch requests, and SwiftUI views, with a tag filter.
Create a SwiftUI filter screen to filter expenses by tags, display all tags, bind selected tags, and fetch filtered results from Core Data using a predicate.
Add a filter by price in the expenses screen, with start and end price inputs bound to state, build a price predicate, and fetch expenses between the chosen range.
Learn to filter items by title using a bound text field, a search button, and a predicate that filters titles that begin with the entered text.
Learn how to filter expenses by date using a date picker, start and end dates, and a core data predicate, converting dates to NS dates for accurate results.
Explore implementing sorting in a Core Data list by title or date, with selectable sort options and directions (ascending or descending) using enums, pickers, and sort descriptors.
Refactor a SwiftUI budget app by unifying filters into a single perform filter function using an enum, triggering UI updates and moving spent and remaining into the budget model.
Add a bottom overlay filter button that presents the filter screen as a sheet from the budget list, within a navigation stack, and show no budgets available when empty.
explains core data migrations, contrasts lightweight automatic and heavyweight manual migrations, and demonstrates migrating local schema changes to production, including a model map with a movie model example.
learn to perform a simple core data migration by adding a quantity attribute to the expense model, update the user interface, validate input, and compute total as amount times quantity.
Explore custom migrations in Core Data, handling existing data and duplicates while enforcing a unique expense title constraint within a budget through versioning.
Explore custom migration in core data by adding a new model version, creating a mapping file, and building a migration policy to preserve data while making duplicate titles unique.
Learn to rollback changes in the managed object context when a duplicate expense name constraint blocks persistence, then reset fields after save and prepare for updating existing expenses.
Update an existing expense in Core Data by long-pressing a row to show a sheet, edit via a form, and save through the managed object context with observed changes.
Learn to update expenses by binding fields directly to the expense object (title, amount, quantity, tags) using an observed object, with optional handling and save via context or sheet dismissal.
Update expenses using a child context to isolate edits from the main context on the budget detail screen, enabling undo by discarding the child context.
Enable CloudKit integration for Core Data by using a persistent CloudKit container, configure iCloud in signing and capabilities, and apply a merge policy while addressing optional defaults and unique constraints.
Fix Core Data and iCloud CloudKit integration by making date created and title optional or default, and remove the expense title unique constraint.
Enforce unique expense titles to prevent duplicates, enable swipe-to-delete with corrected hit testing on expense rows, and ensure iCloud syncing with simple budget details error messaging.
See how iCloud integration synchronizes budgets between iPhone and iPad. Adding a budget on one device appears on the other after a short delay.
Unlock the full potential of Core Data with our comprehensive YouTube course! Whether you're a beginner or an experienced iOS developer, this bootcamp-style series is designed to elevate your skills and empower you to build robust applications with ease.
In this course, we delve deep into Core Data, the backbone of data persistence in iOS applications. You'll learn the ins and outs of integrating Core Data seamlessly into your projects, harnessing its power to store and manage complex object graphs across various storage mediums.
Key Topics Covered:
1. Introduction to Core Data and Essential CRUD Operations
2. Understanding Core Data's Foundational Components
3. Exploring Transformable Data Types
4. Implementing One-to-Many Relationships
5. Managing Many-to-Many Relationships
6. Retrieving Data from the Core Data Store
7. Utilizing the @FetchRequest Property Wrapper
8. Synchronizing Core Data with CloudKit for Data Management
9. Handling Data Migrations for Seamless Updates and Versioning
Why Enroll in this Course?
1. Career Boost: Mastery of Core Data enhances employability and job prospects in iOS development.
2. Efficiency: Learn to efficiently manage data, saving time and effort in app development.
3. App Quality: Develop higher-quality apps with smoother data handling and improved user experience.
4. Versatility: Gain skills to build a wide range of apps, adapting to diverse project requirements.
5. Competitive Edge: Stay ahead in the dynamic iOS development landscape with up-to-date skills.
6. Personal Growth: Enhance problem-solving abilities and foster a mindset of continuous learning and improvement.
Don't miss out on this opportunity to become a Core Data expert and take your iOS development journey to new heights. Enroll now and embark on a transformative learning experience!