iOS Persistence and Core Data (Udacity)

Offered by Udacity,
iOS Persistence and Core Data (Udacity)

Learn how to store data between app launches. 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!

Class Deals by MOOC List - Click here and see Udacity's Active Discounts, Deals, and Promo Codes.

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.

What You Will Learn

Lesson 1
Simple Persistence

  • Learn about simple persistence and how to save small pieces of data.
  • Set user preferences using NSUserDefaults in an existing app.
  • Enable an app’s user preferences to appear in the Settings app.

Lesson 2
The iOS File System

  • Learn about the iOS File System and your app’s sandbox.
  • Read and save files using NSFileManager in an existing app.
  • Understand the performance implications of atomic (all-at-once) file operations.

Lesson 3
Introducing Core Data

  • Meet Core Data
  • Apple’s framework for managing the data layer.
  • Explore what a data layer is.
  • Convert a non-Core Data note-taking app to have a Core Data model.

Lesson 4
The Core Data Stack

  • Set up the classes we need to get Core Data up and running.
  • Use the stack to manage model object creation and deletion.
  • Persist changes so that data stays put when you restart the app or device.

Lesson 5
Simpler Code with Core Data

  • Enable user interfaces to reactively update whenever the model changes.
  • Set up an NSFetchedResultsController to observe data changes and notify the UI.
  • Create a new version of a data model modify a table view to work with a fetched results controller and turn on caching.

Lesson 6
Core Data & Concurrency

  • Update the data model and safely migrate user data between versions.
  • Work with multiple managed object contexts for different types of tasks.
  • Keep the user interface responsive by sending lengthy tasks to a background queue.

Prerequisites and Requirements
This course assumes extensive iOS experience. Specifically, you’ve built several apps, know how to use core iOS libraries, and are familiar with networking and MVC design principles. Introduction to iOS App Development with Swift, UIKit Fundamentals, and iOS Networking with Swift are good courses to take if you need to familiarize yourself with these concepts.
The course also assumes basic familiarity with git. Specifically, you will need to be able to clone git repositories and checkout branches specific to each lesson. How to Use Git & GitHub is a great option if you need to brush up on these skills.
You will need access to a Mac computer running OS X 10.9 or later. However, you do not need an iPad or iPhone to complete the activities. All exercises can be completed using the iOS simulator built into Xcode.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Getting Started With Application Development en Français (Coursera) Coursera
Google Cloud

Getting Started With Application Development en Français (Coursera)

Dans ce cours, les développeurs d'applications apprennent à concevoir et développer des applications cloud natives qui intègrent parfaitement les services gérés de Google Cloud. Ils découvrent également comment appliquer les bonnes pratiques associées et comment utiliser les services de stockage Google Cloud appropriés pour le stockage d'objets, les données relationnelles, la mise en cache et l'analyse.

Sep 21st 2026
1 Week
Firebase Analytics: iOS (Udacity) Udacity
Udacity,Google

Firebase Analytics: iOS (Udacity)

Improve your apps with better user data. In this course, you’ll learn how to grow an app's user base using Firebase Analytics, a free and unlimited analytics solution. You'll be able to learn who your users are and how they interact with your app. You can then use this information to make informed decisions to improve your app, such as how difficult to make a level in a game, where to place an advertisement, or what products to stock.

Self Paced
Self-Paced
Games, Sensors and Media (Coursera) Coursera
University of California, Irvine

Games, Sensors and Media (Coursera)

You will learn to make fluid digital interactive experiences that are suitable for gaming and use the advanced sensor hardware built into the iPhone and iPad. This includes drawing 2D graphics, playing sounds and music, integrating with Game Center, the iOS physics engine and detecting device orientation and location.

Sep 28th 2026
4 Weeks
AWS: Data Management and Backups (Coursera) Coursera
Whizlabs

AWS: Data Management and Backups (Coursera)

AWS: Data Management and Backups Course is the fourth course of Exam Prep: AWS Certified SysOps Administrator - Associate Specialization. This course teaches Data Storage and management concepts by exploring AWS Services such as Amazon S3, and AWS Storage Gateway. This course also assists learners with knowledge of data backups and data recovery concepts using different strategies available in AWS.

Sep 21st 2026
2 Weeks
Passwordless Login Solutions for iOS (Udacity) Udacity
Udacity,Facebook

Passwordless Login Solutions for iOS (Udacity)

Add Account Kit and Facebook Login. For an app developer, providing a seamless user experience is critical for building engagement and growing a user base. Passwordless login solutions provide your users with a simple, secure, and positive first experience. In this course, you'll learn two frameworks for sign-up and authentication: Account Kit, which uses a phone number and code, and Facebook Login for iOS.

Self Paced
Self-Paced
Big Data: adquisición y almacenamiento de datos (Coursera) Coursera
Universitat Autònoma de Barcelona

Big Data: adquisición y almacenamiento de datos (Coursera)

¿Estás interesado en tener un conocimiento más detallado sobre las herramientas y aplicaciones Big Data? En este curso aprenderás los principios para comprender la terminología, conceptos básicos y herramientas más importantes para resolver problemas de análisis de datos enfocándonos en los problemas y las aplicaciones. El objetivo es proporcionar una visión de sistema para entender los retos más importantes que nos encontramos cuando trabajamos en entornos con grandes volúmenes de datos.

Jan 13th 2025
4 Weeks
Data Storage in Microsoft Azure (Coursera) Coursera
Microsoft

Data Storage in Microsoft Azure (Coursera)

Azure provides a variety of ways to store data: unstructured, archival, relational, and more. In this course, you will learn the basics of storage management in Azure, how to create a Storage Account, and how to choose the right model for the data you want to store in the cloud. This course part of a Specialization intended for Data engineers and developers who want to demonstrate their expertise in designing and implementing data solutions that use Microsoft Azure data services anyone interested in preparing for the Exam DP-203: Data Engineering on Microsoft Azure (beta).

Jan 6th 2025
5-12 Weeks
Digital Thread: Components (Coursera) Coursera
University at Buffalo,The State University of New York

Digital Thread: Components (Coursera)

This course will help you recognize how the "digital thread" is the backbone of the digital manufacturing and design (DM&D) transformation, turning manufacturing processes from paper-based to digital-based. You will have a working understanding of the digital thread – the stream that starts at product concept and continues to accumulate information and data throughout the product’s life cycle – and identify opportunities to leverage it.

Sep 14th 2026
3 Weeks
Swift for Developers (Udacity) Udacity
Udacity

Swift for Developers (Udacity)

Your Next Programming Language. This course offers a quick practical introduction to Swift basics, including types, variables, constants, and functions. It combines syntax exercises with hands-on iOS development in Xcode. By the end of the course students will build their first iOS app, an app that creates and displays song lyrics customized to user input.

Self Paced
Self-Paced