Persisting data is a core skill for any iOS developer. This course will teach you three techniques for storing data to your device’s hard drive: NSUserPreferences for small amounts of data, the Sandbox for files and Core Data when you have to play in the Big Leagues!
Why Take This Course?
Just like computers, your iPhone has two types of memory: main memory (RAM) and the hard drive. In all the apps you’ve written, you’ve interacted with RAM, but this memory is limited, and it’s important that the apps you design use it as efficiently as possible. To use the RAM efficiently it is important to be able to store data on the hard drive.
It is also important for your apps to maintain state when they are turned off. The apps you’ve built probably aren’t persistent, meaning that they don’t save their state to the device’s hard drive. As RAM is volatile, data is lost when the app stops running. In this course, you’ll learn how to persist the state of the device using NSUserDefaults and Core Data.
Lesson 1: Simple Persistence
In this lesson, you’ll learn about simple persistence and how to save small pieces of data, like user preferences, using NSUserDefaults.
Lesson 2: The iOS File System
In this lesson, we’ll discuss the iOS File System, the "sandbox", and how to access these files using NSFileManager.
Lesson 3: Comprehensive Persistence: Core Data (Part 1)
IIn this lesson, you’ll be introduced to the Core Data framework, Apple’s favorite framework for the model class. We’ll learn about the Core Data stack, how to create a model and managed model objects, and begin work on our very own note-taking app.
Lesson 4: Comprehensive Persistence: Core Data (Part 2)
In this lesson, we’ll continue our implementation of Core Data and learn how tableviews adjust their display, how a user can add new notes to the app, how we actually save and persist changes, and the important role Core Data plays in memory management.
Lesson 5: Important Extras
In this lesson, we’ll wrap up Core Data and discuss some important aspects of maintaining a persistent app.
Lesson 6: Core Data & Concurrency
Some tasks in Core Data can take pretty long, especially if your data model is complex or have a huge amount of data. Back in the Grand Central Dispatch course, we've seen how to send lengthy tasks to a background queue. In this lesson, we'll learn how Core Data tasks can run in different queues in a safe and efficient way.