Module 1: Getting familiar with Xcode
- Downloading and installing Xcode from the App Store
- Understanding the Xcode User Interface
- Running the app in the Simulator
- Using an iOS device for development
Module 2: Simple values and types
- Data Types
- Constants and variables
- Type inference and type safety
- Operators
- The print () instruction
Module 3: Conditionals and optionals
- if and switch statements
- Optionals and optional binding
Module 4: Range operators and Loops
Module 5: Collection Types
Module 6: Functions
Module 7: Classes, Structures and enumerations
- Classes
- Structures
- Enumerations
Module 8: Protocols, Extensions and Error Handling
- Protocols
- Extensions
- Error Handling
Module 9: Setting Up the User Interface
- Useful terms
- Touring the Let's Eat App
- Creating a new Xcode Project
- Setting up a Tab Bar Controller Scene and Launch Screen
Module 10: Building Your User Interface
- Adding a collection view to the Explore screen
- Connecting outlets in storyboard to the view controller
- Configuring data source methods for the collection view
- Adding a section header to the collection view
- Configuring collection view cell and section header size
- Presenting a view modally
Module 11: Finishing Up Your User Interface
- Adding a Table View to the Locations Screen
- Implementing the Restaurant List Screen
- Implementing the Restaurant Detail screen
- Implementing the Review Form screen
- Implementing the Map Screen
Module 12: Modifying and Configuring Cells
- Modifying the Explore screen section header
- Modifying the exploreCell collection view cell
- Modifying the restaurantCell collection view cell
- Configuring the locationCell collection view cell
Module 13: Getting Started with MVC and Collection Views
- Understanding the MVC design pattern
- Exploring controllers and classes
Module 14: Getting Data into Collection Views
- Understanding model objects
- Displaying data in a collection view
Module 15: Getting Started with Table Views
- Understanding table views
- Creating LocationViewController
- Adding location data for the table view
- Creating LocationDataManager
- Cleaning up the user interface
Module 16: Getting Started with MapKit
- Understanding and creating annotations
- Adding annotations to a map view
- Going from the Map screen to the Restaurant Detail screen
- Organizing your code
Module 17: Getting Started with JSON Files
- Getting data from JSON files
- Using data from JSON files in your app
Module 18: Displaying Data in a Static Table View
- Setting up outlets for RestaurantDetailViewController
- Displaying data in the static table view
- Passing data from RestaurantListViewController to RestaurantDetailViewController
Module 19: Getting Started with Custom UIControls
- Creating a custom UIControl object
- Displaying stars in your custom UIControl object
- Adding support for touch events
- Implementing an unwind method for the Cancel button
- Creating ReviewFormViewController
Module 20: Getting Started with Cameras and Photo Libraries
- Understanding filters
- Creating a scrolling list of filters
- Getting permission to use the camera or photo library
Module 21: Understanding Core Data
- Introducing Core Data
- Implementing Core Data components for your app
- Understanding how saving and loading works
- Updating ReviewFormViewController to save reviews
- Updating PhotoFilterViewController to save photos
- Displaying saved reviews and photos in the Restaurant Detail screen
- Calculating a restaurant's overall rating
Module 22: Getting Started with Apple Silicon Macs
- Cleaning up the design
- Updating the app to work on iPad
- Updating the app to work on macOS
Module 23: Getting Started with SwiftUI
- Creating a SwiftUI Project
- Creating the Restaurant List screen
- Adding model objects and configuring navigation
- Using UIKit and SwiftUI views together
- Creating the Restaurant Detail screen
Module 24: Getting Started with Widgets
- Introducing widgets
- Adding a widget target to your app
- Providing timeline entries to your widget
- Customising your widget’s view
- Adding your widget to the Home screen
Module 25: Getting Started with App Clips
- Introducing app clips
- Adding an app clip to your project
- Configuring your app clip
- Passing restaurant data to the Restaurant Detail screen
Module 26: Testing and Submitting Your App to the App Store
- Getting an Apple Developer account
- Generating a certificate signing request
- Creating development and distribution certificates
- Registering an App ID
- Registering your devices
- Creating provisioning profiles
- Creating icons for your app
- Creating screenshots for your app
- Creating an App Store listing
- Creating an archive build
- Completing the information in App Store Connect
- Testing your app