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

Architecting with Google Kubernetes Engine: Workloads en Français (Coursera) Coursera
Google Cloud

Architecting with Google Kubernetes Engine: Workloads en Français (Coursera)

"Le cours ""Architecting with Google Kubernetes Engine: Workloads"" vous apprend à effectuer des opérations Kubernetes ; à créer et gérer des déploiements ; à utiliser les outils de mise en réseau GKE, et à attribuer un espace de stockage persistant à vos charges de travail Kubernetes. Ce cours fait partie d'une formation spécialisée consacrée à la création d'infrastructures informatiques efficaces à l'aide de Kubernetes et de GKE. Cette formation porte sur le déploiement et la gestion d'applications conteneurisées sur GKE et les autres services proposés par Google Cloud Platform.

Nov 2nd 2026
1 Week
Intro to iOS App Development with Swift (Udacity) Udacity
Udacity

Intro to iOS App Development with Swift (Udacity)

Make Your First iPhone App. In this course we will build an iPhone app that records a conversation between you and a friend, and then makes your voices sound like a Chipmunk or Darth Vader. This course will set you on your way to becoming an iOS Developer, where you’ll establish a basic understanding of the iOS ecosystem. You’ll also have working knowledge of Swift, Apple’s custom programming language created exclusively for the mobile developer.

Self Paced
Self-Paced
Securing and Integrating Components of your Application en Français (Coursera) Coursera
Google Cloud

Securing and Integrating Components of your Application 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. À travers un ensemble de présentations, de démonstrations et d'ateliers pratiques, ils découvrent comment appliquer les bonnes pratiques de développement d'applications 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. Les participants peuvent choisir d'effectuer les ateliers dans leur langage préféré (Node.js, Java ou Python).

Oct 26th 2026
1 Week
Mobile Design and Usability for iOS (Udacity) Udacity
Udacity,Facebook

Mobile Design and Usability for iOS (Udacity)

Learn how to design an intuitive, user-centered mobile app. Featuring Facebook's experts in User Research and Product Design, this course walks you through the steps to design a new mobile product that puts users first. You'll learn how to use data collected from users to guide prototyping, and conduct user testing with a production app to guide a future redesign.

Self Paced
Self-Paced
Smart Device & Mobile Emerging Technologies (Coursera) Coursera
Yonsei University

Smart Device & Mobile Emerging Technologies (Coursera)

In this course, the start-of-the-art smartphone and smart watch technology and components in addition to the global market trends and future forecasts are introduced. Since everybody uses smartphones and smart watches, knowing the details about the most globally used electronic device will definitely help you in all aspects of new product and app design & development, as well as business planning.

Nov 2nd 2026
5-12 Weeks
App Design and Development for iOS (Coursera) Coursera
University of Toronto

App Design and Development for iOS (Coursera)

In App Design and Development for iOS, the third course of the iOS App Development with Swift specialization, you will be developing foundational programming skills to support graphical element presentation and data manipulation from basic functions through to advanced processing. You will continue to build your skill set to use and apply core graphics, touch handling and gestures, animations and transitions, alerts and actions as well as advanced algorithms, threading and more. By the end of this course you will be able to develop a more advanced, fully functioning app.

Oct 26th 2026
5-12 Weeks
iOS Design Patterns (Udacity) Udacity
Udacity

iOS Design Patterns (Udacity)

Common Problems, Common Solutions. In this course, you'll explore popular iOS design patterns — the practical and battle-tested solutions to common problems that are used everyday by professional developers. You'll take a look at architectures and mechanisms that are used for constructing large, complex apps. And, by the end of this course, you'll have accumulated a reliable toolset of patterns that you can apply to your own projects.

Self Paced
Self-Paced
iOS App Capstone (Coursera) Coursera
Meta

iOS App Capstone (Coursera)

In this capstone course, you’ll demonstrate your proficiency in your new skill set by creating a native iOS app. At this point in the program, you've gained all the skills you need to successfully complete this project. But you might need to refresh your memory when it comes to the previous courses in the program. For that reason, each module in this course will take you through a brief recap of relevant content from previous courses in the program. And don't worry, there will be links too so you can review content in more detail if necessary. In this way, you will be guided through the process of building the Little Lemon app which allows you to show off your new development skills.

Nov 2nd 2026
3 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
Build Native Mobile Apps with Flutter (Udacity) Udacity
Udacity

Build Native Mobile Apps with Flutter (Udacity)

Learn from experts at Google how to use Flutter to craft high-quality native interfaces on iOS and Android devices in record time. In this course, you'll learn how to use Flutter to quickly develop high-quality, interactive mobile applications for iOS and Android devices. Whether you’re just getting started with mobile app development, or experienced with other mobile app frameworks, you’ll enjoy the high-velocity development and quality apps that Flutter enables.

Self Paced
Self-Paced
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.

Nov 2nd 2026
2 Weeks