In this course you will be learning to create TODO list app from scratch. Your app will have folders and within folder it will have items related to that folder.
You will learn how to persist data in core data.
You will learn how to create FetchedResultsController along side UITableView for efficient data retrieval from CoreData.
You will learn to develop shared views that can be used in multiple screens
You will learn to build classes with Generics for better utilization and reuse
You will learn to create layout programmatically all in code without any storyboards or xib/nib files
Per Apple's documentation:
Short intro about Core Data:
Use Core Data to save your application’s permanent data for offline use, to cache temporary data, and to add undo functionality to your app on a single device.
Through Core Data’s Data Model editor, you define your data’s types and relationships, and generate respective class definitions. Core Data can then manage object instances at runtime to provide the following features.
Short intro about FetchedResultsController:
While table views can be used in several ways, fetched results controllers primarily assist you with a primary list view. UITableView expects its data source to provide cells as an array of sections made up of rows. You configure a fetch results controller using a fetch request that specifies the entity, an array containing at least one sort ordering, and optionally a filter predicate. The fetched results controller efficiently analyzes the result of the fetch request and computes all the information about sections in the result set. It also computes all the information for the index based on the result set.
Short intro about Generics:
Generic code enables you to write flexible, reusable functions and types that can work with any type, subject to requirements that you define. You can write code that avoids duplication and expresses its intent in a clear, abstracted manner.
Generics are one of the most powerful features of Swift, and much of the Swift standard library is built with generic code. In fact, you’ve been using generics throughout the Language Guide, even if you didn’t realize it. For example, Swift’s Array and Dictionary types are both generic collections. You can create an array that holds Int values, or an array that holds String values, or indeed an array for any other type that can be created in Swift. Similarly, you can create a dictionary to store values of any specified type, and there are no limitations on what that type can be.