iOS Foundations

SwiftUI

Continue your app journey right where the 14 Day Beginner Challenge leaves off inside our iOS Foundations course. 

This course takes you through building 4 apps of increasing difficulty and you'll learn new skills with each. 

By the end of this course, you’ll be able to build multi-screened, data powered apps. 

That means you’ll know how to confidently build apps that fetch data from a source, like an API, a data feed or your own file, and display that information to the user (Apps like weather apps, stats apps, information apps etc.)

Learning Outcomes:

  • Build 4 Different Apps

    You'll have a solid foundation in app development through building 4 apps with me step by step. Each app builds upon the previous and teaches new techniques and skills.

  • Work With Data

    You'll know how to work with the JSON data format to fetch data from online data feeds, APIs and local data files.

  • Swift Programming

    You'll be able to read and write Swift code for building user interfaces and coding the logic for your app. (Even if you've never coded before)

  • Xcode

    You'll know how to navigate and use official Apple tools such Xcode for iOS app development.

  • SwiftUI User Interfaces

    You'll be able to use the latest SwiftUI framework to build next generation user interfaces.

  • Build Your Own

    You'll be comfortable building your own multi-screened apps that can fetch data from APIs, local data files or external data feeds.

Course curriculum

  • 1

    Introduction

    • Welcome!

    • Resources

  • 2

    Module 1: War Card Game

    • Lesson 1: The Apple Developer Ecosystem

    • Lesson 1 Quiz

    • Lesson 2: Introduction to Xcode

    • Lesson 2 Quiz

    • Lesson 3: How To Build User Interfaces

    • Lesson 3 Quiz

    • Lesson 3 Challenge

    • Lesson 4: SwiftUI Views and Containers

    • Lesson 4 Quiz

    • Lesson 4 Challenge

    • Lesson 5: Build The War Card Game UI

    • Lesson 6: Swift Variables and Constants

    • Lesson 6 Quiz

    • Lesson 6 Challenge

    • Lesson 7: Swift Functions

    • Lesson 7 Quiz

    • Lesson 7 Challenge

    • Lesson 8: Swift Structures

    • Lesson 8 Quiz

    • Lesson 8 Challenge

    • Lesson 9: Swift Instances

    • Lesson 9 Quiz

    • Lesson 9 Challenge

    • Lesson 10: SwiftUI Buttons

    • Lesson 10 Quiz

    • Lesson 10 Challenge

    • Lesson 11: State Properties

    • Lesson 11 Quiz

    • Lesson 11 Challenge

    • Lesson 12: Swift If Statements

    • Lesson 12 Quiz

    • Lesson 12 Challenge

    • Lesson 13: Wrap Up Challenge

    • Module 1 Feedback Survey

  • 3

    Module 2: Recipe List App

    • Lesson 1: What Will You Learn?

    • Lesson 2: Swift Programming - Arrays

    • Lesson 2 Quiz

    • Lesson 2 Challenge

    • Lesson 3: SwiftUI Lists

    • Lesson 3 Quiz

    • Lesson 3 Challenge

    • Lesson 4: Swift Programming - Loops

    • Lesson 4 Quiz

    • Lesson 4 Challenge

    • Lesson 5: Swift Programming - Classes

    • Lesson 5 Quiz

    • Lesson 5 Challenge

    • Lesson 6: Swift Programming - Value vs Reference Types

    • Lesson 6 Quiz

    • Lesson 6 Challenge

    • Lesson 7: MVVM Architecture Pattern

    • Lesson 7 Quiz

    • Lesson 7 Challenge

    • Lesson 8: Data Flow in MVVM

    • Lesson 8 Quiz

    • Lesson 8 Challenge

    • Lesson 9: Swift Programming - Optionals

    • Lesson 9 Quiz

    • Lesson 9 Challenge

    • Lesson 10: Dictionaries

    • Lesson 10 Quiz

    • Lesson 10 Challenge

    • Lesson 11: Introduction to JSON

    • Lesson 11 Quiz

    • Lesson 11 Challenge

    • Lesson 12: JSON Parsing

    • Lesson 12 Quiz

    • Lesson 12 Challenge

    • Lesson 13: The Recipe List App

    • Lesson 13 Quiz

    • Lesson 13 Challenge

    • Lesson 14: ForEach and ScrollViews

    • Lesson 14 Quiz

    • Lesson 14 Challenge

    • Lesson 15: The Recipe DetailView

    • Lesson 15 Quiz

    • Lesson 15 Challenge

    • Lesson 16: Wrap Up Challenge

    • Module 2 Feedback Survey

  • 4

    Module 3: GitHub

    • Lesson 1: Introduction to GitHub

    • Lesson 1 Quiz

    • Lesson 2: GitHub and Xcode

    • Lesson 2 Quiz

    • Lesson 3: Working with GitHub

    • Lesson 3 Quiz

    • Module 3 Feedback Survey

  • 5

    Module 4: Recipe App

    • Lesson 1: Introduction

    • Lesson 2: Adding the Project to GitHub

    • Lesson 2 Quiz

    • Lesson 2 Challenge

    • Lesson 3: TabViews

    • Lesson 3 Quiz

    • Lesson 3 Challenge

    • Lesson 4: GeometryReader

    • Lesson 4 Quiz

    • Lesson 4 Challenge

    • Lesson 5: Updating the JSON Data

    • Lesson 6: The EnvironmentObject

    • Lesson 6 Quiz

    • Lesson 6 Challenge

    • Lesson 7: The Featured View

    • Lesson 7 Quiz

    • Lesson 7 Challenge

    • Lesson 8: LazyStacks

    • Lesson 8 Quiz

    • Lesson 8 Challenge

    • Lesson 9: SwiftUI Picker

    • Lesson 9 Quiz

    • Lesson 9 Challenge

    • Lesson 10: Calculating Ingredient Portions

    • Lesson 10 Quiz

    • Lesson 11: The Recipe Serving Size Picker

    • Lesson 11 Quiz

    • Lesson 12: Displaying Ingredient Portions

    • Lesson 12 Quiz

    • Lesson 13: Featured View Recipe Details

    • Lesson 13 Quiz

    • Lesson 14: Styling

    • Lesson 14 Quiz

    • Lesson 15: Wrap Up Challenge

    • Lesson 15: Wrap Up Challenge (Hints)

    • Module 4 Feedback Survey

  • 6

    Module 5: Learning App

    • Lesson 1: Introduction

    • Lesson 2: Project Setup

    • Lesson 3: Parsing the JSON Data

    • Lesson 3 Quiz

    • Lesson 4: Building the HomeView

    • Lesson 4 Quiz

    • Lesson 5: Building the Lesson List View

    • Lesson 5 Quiz

    • Lesson 6: Lesson Detail View

    • Lesson 6 Quiz

    • Lesson 6 Challenge

    • Lesson 7: Using UIKit Views

    • Lesson 7 Quiz

    • Lesson 7 Challenge

    • Lesson 8: A Closer Look at NavigationLink

    • Lesson 8 Quiz

    • Lesson 8 Challenge

    • Lesson 9: Quiz Display

    • Lesson 9 Quiz

    • Lesson 10: Quiz Answers

    • Lesson 10 Quiz

    • Lesson 11: Quiz Question Navigation

    • Lesson 12: Quiz Results

    • Lesson 12 Quiz

    • Lesson 13: GitHub Pages

    • Lesson 13 Quiz

    • Lesson 14: iOS Networking

    • Lesson 14 Quiz

    • Lesson 14 Challenge

    • Lesson 14 Follow Up: Updating View Code from a Background Thread

    • Lesson 14 Follow Up Quiz

    • Lesson 15 Bug Follow Up: Index out of range

    • Lesson 16: Xcode 12.5 Follow Up

    • Module 5 Wrap Up Challenge

    • Module 5 Feedback Survey

  • 7

    Module 6: City Sights App

    • Lesson 1: Introduction

    • Lesson 2: App Architecture and Set Up

    • Lesson 3: CoreLocation

    • Lesson 3 Quiz

    • Lesson 4: The Yelp API

    • Lesson 4 Quiz

    • Lesson 4 Follow Up: Api Key Security

    • Lesson 5: Parsing the Yelp API JSON

    • Lesson 5 Quiz

    • Lesson 6: Building the Business List View

    • Lesson 6 Quiz

    • Lesson 7: Building the Business Row

    • Lesson 7 Quiz

    • Lesson 8: Business Detail

    • Lesson 8 Quiz

    • Lesson 9: Map View

    • Lesson 9 Quiz

    • Lesson 10: Handling Events from UIKit Controls

    • Lesson 10 Quiz

    • Lesson 11: Map View - Viewing the Business Detail

    • Lesson 11 Quiz

    • Lesson 12: Directions View

    • Lesson 12 Quiz

    • Lesson 13: Onboarding Sequence

    • Lesson 13 Quiz

    • Lesson 14: Styling

    • Lesson 14 Quiz

    • Module 6 Feedback Survey

  • 8

    Conclusion

    • Congratulations!

  • 9

    Bonus Module: Publishing To The App Store

    • Lesson 1: From Profiles to App Store Connect

    • Lesson 2: Distribution Provisioning Profiles

    • Lesson 3: App Store Connect and Meta Data

    • Lesson 4: App Submission Artwork

    • Lesson 5: Submitting via Xcode

  • 10

    Bonus Module: Screencasts

    • Enhancing The Recipe App With Categories

Enroll in CWC+ to access all of our courses

When you join CWC+, you'll get access to this course along with many others! No matter what your goal is; whether it's to start an iOS career, become a freelancer, build an app business, make apps for income... we'll help you get there!


Join CWC Plus