GitHub Repo

A good section of day nine and probably day ten is going to be researching and trying to implement a way to persist data. These two blog posts are going to be very informative because they will be my notes when deciding between the two.

Things I want to accomplish

  • Persisting data on app quit

Things I accomplished

Things I learned

This whole section could be "How to persist data on app quit," but I'll go into each part separately.

When and why to use Core Data

Core Data is used when data needs to be local.

This is how Apple describes Core Data.

Core Data reduces the complexity of creating and maintaining the model layer of your app. By using Core Data to define your data structures, you can remove most of the repetitive code that is typically required.

When and why to use CloudKit

CloudKit is used when data needs to be synced between devices.

This is how Apple describes CloudKit.

The CloudKit framework provides interfaces for moving data between your app and your iCloud containers. You use CloudKit to take your app’s existing data and store it in the cloud so that the user can access it on multiple devices. You can also store data in a public area where all users can access it.

I can use Core Data with CloudKit to get iCloud syncing. That way I can at some point expand this to other devices and have the data shared between them.

To start with, I will implement Core Data and then add in CloudKit at a later point. I want to work in small chunks and add more features as the app grows.

I'm still learning and trying to implement Core Data so that I won't be talking about any coding implementations yet. Maybe tomorrow?

If you have any questions about what I did or how I implemented anything, let me know! If you have any suggestions or other comments, let me know as well!

This post is also available on DEV.