Core Data

Core Data best practices by example, from persistency to multithreading and syncing.

by and

Updated for Swift 3 and iOS 10/macOS10.12!

This book strives to give you clear guidelines for how to get the most out of Core Data while avoiding the pitfalls of this flexible and powerful framework. We start with a simple example app and extend it step by step as we talk about relationships, advanced data types, concurrency, syncing, and many other topics.

Later on, we go well beyond what’s needed for the basic example app. We’ll discuss in depth how Core Data works behind the scenes, how to get great performance, the trade-offs between different Core Data setups, and how to debug and profile your Core Data code.

All code samples in this book are written in Swift. We show how you can leverage Swift’s language features to write elegant and safe Core Data code. We expect that you’re already familiar with Swift and iOS, but both newcomers and experienced Core Data developers will find a trove of applicable information and useful patterns.

What’s in the book

  • Core Data and Swift

    Leverage Swift’s language features to write elegant and safe Core Data code

  • Sample code

    Browse a complete sample app, including CloudKit sync

  • Best Practices

    Use efficient patterns to keep your code simple

  • Data Types

    Use built-in and custom data types efficiently

  • Core Data Stacks

    Understand the tradeoffs between different Core Data setups

  • Under the Hood

    Gain detailed understanding of Core Data’s architecture

  • Concurrency

    Understand when and how to use multiple contexts

  • Performance

    Get great performance for your app

  • Memory Efficiency

    Understand Core Data’s powerful mechanisms for efficient memory use

  • Syncing with Web-Services

    Keep a local Core Data store in sync with data stored remotely

  • Profiling and Debugging

    Diagnose performance and other issues

Formats & Extras

  • Ebook

  • Code

  • Paperback

Buy the book

* Select team size at checkout for final pricing

** Final price may differ due to fluctuations

About the Authors

  • Florian Kugler

  • Daniel Eggert