Your Second Swift 4 & iOS 11 App
In this series, you'll learn some of the fundamental aspects of iOS by building in a Todo app and in this process, you'll learn about table views, design patterns, and saving data. By Brian Moakley.
Part 2: Table Views
In this video, you'll get an overview of what you are building and you'll be introduced to a very important view in iOS: the table view.
This video will provide you an overview of the checklist todo app.
Table views are a critical component in iOS for displaying information. You'll get started by adding your first one.
Every one loves recycling. Even table view cells! In this video, you'll learn to recycle by the way of reuse identifiers.
Now that you have a cell in play, your challenge is to add a label to it.
Protocols are a means of defining similar behavior to unrealated objects. In this video, you'll learn to create them.
So far, your app is only show one row. Your challenge is to have it display five of them.
Cells can also contain iOS controls, but you'll need to update the content of them. In this video, you'll learn how access the controls.
Your challenge is to provide custom text to a cell based on the index path of the row.
Table views can respond to a variety of events by means of delegates. In this video, you'll learn how to create your own delegate.
With your introduction to table views complete, it's time to move on to greener pastures - MVC.
Part 3: MVC
Design patterns provide solutions to common problems. MVC is a popular design pattern for organizing your code, and this video will introduce it to you.
This video covers the basics of model view controller and how it applies to the app that you are building.
In this video, you'll take a first stab at implementing MVC into your app.
Code duplication is the bane of every app developer. In this challenge, your job is to get rid of it.
One good practice is to keep your model objects out of your view controller. You'll do that in this video by creating your own model class.
Your app is going to contain lots of checklist items. Arrays make for a great structure at keeping them grouped together.
In this challenge, you'll be adding more checklist items to your todo app.
As your app grows in size and complexity, you'll want to keep it organized. In this video, you'll learn what it means to refactor your code.
With your app refactored to conform to the MVC design pattern, you'll get an overview of the task of the next section: adding and deleting checklist items.
Part 4: Adding and Deleting Items
So far your, users of your checklist app can't add or delete items. In this video, you'll get an overview on how that will be accomplished.
Navigation controllers are a means to display lots of view controllers in your app and you'll learn how to use them.
Navigation bars can take buttons for you to add interactivity. In your challenge, you'll add one to your app.
Now's the time to add new checklist items! This video will walk you through the process.
When a new checklist item is added, your challenge is to make the checklist items to be checked by default.
Table views provide swipe to delete functionality, but it's up to you to do the actual delete action. In this video, you'll learn how to do that.
So far, this app only has one screeen. You'll take it to the next level by adding a new screen.
Prototype cells allow you to customize your cells at run time, whereas static cells, you customize them at build time. You'll add a static cell in this video.
In this challenge, you'll add a text field to your static table view cell.
Understanding the responder chain is critical for working with text fields. You'll get the responder chain to work in this video.
There are times when you need to respond to special kinds of events. These are called control events and you'll learn about them in this video.
This video wraps up the process of adding items to your to-do app.
Part 5: Editing Items
When you add items, you'll ultimately need to edit them. This video will give you an overview of what this means.
Delegates allow you to respond to events not just in controls but in other view controllers.
Segues are relationships between view controllers and can also pass information between them. This video will cover the basics of them.
Making the edit view controller takes some work. Your challenge is to come up with a task list to make it happen.
This video covers the use of the detail disclosure indicator and why it is necessary for the to-do app.
Why have one segue when you can have two? Your task is to create a second segue for editing.
Segues allow you to gain access to view controllers and then how to pass data to them. In this video, you'll learn how to do that.
Your challenge is to answer a simple question about your app behavior.
Often times, you can save time and subclass the NSObject to gain additional behavior to your object.
You'll often spend time refactoring your code and Xcode provides a few tools to do this.
Your challenge is to refactor a protocol by way of Xcode's refactor tools.
This video wraps up work on the to-do list app and shows you where to go from here.