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

Understanding the differences between SwiftData and Core Data

SwiftData has recently been introduced and has room to grow. It has some current limitations that Apple is likely to address in the near future.

Presently, SwiftData is missing some key features that are present in Core Data and allow some of the most advanced use cases:

  • There is no equivalent of NSCompoundPredicate, so it is not possible to create complex predicates.
  • There is no replacement for NSFetchedResultController for executing queries and reacting to changes.
  • There is no support for derived attributes. Derived attributes can be defined and managed using the Core Data model editor in Xcode.

In Core Data, derived attributes can be based on the following:

  • Calculation: Computed based on an expression that you specify. This expression can reference other attributes of the entity, as well as attributes of related entities.
  • Storage: While derived attributes are computed, their values...