Home Tech & Coding Mobile Apps iOS App Development
iOS Persistence and Core Data

iOS Persistence and Core Data

Persisting data is a core skill for any iOS developer. Learn how to store app data to your device using three common techniques: NSUserDefaults, Sandbox, and Core Data.
Video Beginner Advanced
UPVOTE 0
SAVE THIS COURSE
Course Website
www.udacity.com
Share this page
Other courses you might like
Gallery
Description

Summary

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!

Expected Learning

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.

Syllabus

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.

Required Knowledge

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.

See the Technology Requirements for using Udacity.


Pricing:
Free
Level:
Advanced
Duration:
8 weeks
Educator:
Fernando Rodriguez
Submitted by:
Coursearena
Reviews
Would you recomment this course to a friend?
Discussion
There are no comments yet. Please sign in to start the discussion.
Other courses you might like