Core Data: Updated for Swift 3

Core Data: Updated for Swift 3


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

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.


  • 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


Masterminds of Programming

2017-5-7 8:59:09


Programming Kotlin

2017-5-20 5:46:36