Book Image

An iOS Developer's Guide to SwiftUI

By : Michele Fadda
Book Image

An iOS Developer's Guide to SwiftUI

By: Michele Fadda

Overview of this book

– SwiftUI transforms Apple Platform app development with intuitive Swift code for seamless UI design. – Explore SwiftUI's declarative programming: define what the app should look like and do, while the OS handles the heavy lifting. – Hands-on approach covers SwiftUI fundamentals and often-omitted parts in introductory guides. – Progress from creating views and modifiers to intricate, responsive UIs and advanced techniques for complex apps. – Focus on new features in asynchronous programming and architecture patterns for efficient, modern app design. – Learn UIKit and SwiftUI integration, plus how to run tests for SwiftUI applications. – Gain confidence to harness SwiftUI's full potential for building professional-grade apps across Apple devices.
Table of Contents (25 chapters)
Free Chapter
1
Part 1: Simple Views
5
Part 2: Scrollable Views
8
Part 3: SwiftUI Navigation
11
Part 4: Graphics and Animation
14
Part 5: App Architecture
17
Part 6: Beyond Basics

Core Data migrations

Migrations are how Core Data helps developers adapt their data models to changing requirements. As applications evolve, it is often needed to change the data model; however, existing users will have their data stored in an old format. A Core Data migration helps move this old data into a new updated data model without losing vital information.

Core Data allows three types of migration:

  • Lightweight migration: The simplest migration, which is almost automatic. It is achievable only if the database changes are minor, such as adding or removing one attribute, or changing an attribute status between mandatory and optional.
  • Staged migration: This migration is more complex and required for more complex changes, such as renaming an attribute or changing data types or relationships.
  • Manual migration: This is used when you need to perform complex transformations on data that cannot be covered by staged and lightweight migrations.

To prepare to migrate...