Table of Content
 
Introduction
- Install Xcode 14 and SF Symbols
 - Introducing Xcode 14
 - Xcode 13 Versus Xcode 14
 - Take a Tour of Xcode + Hotkeys
 
Swift Programming Language Fundamentals
- Introduction to Swift Fundamentals
 - Variables and Let Constants
 - String Arrays and For Loops
 - Structs and Arrays of Structs
 - Optionals, If, If Let
 - A Note about Line Breaks
 - Int, Double, Float, Type Of
 - Division, Modulo, More For Loops and If Statements
 - Simplify the Code with a Function
 - Multiline Strings
 - More on Loops (For, While, and Repeat)
 - The Guard Statement
 - Tuples and Named Tuples
 - Enumerations
 - Named Enumerations
 
The Greetings App
- Introduction to the Greetings App
 - Introducing Modifiers
 - More Text Views in a VStack
 - Adding a View
 - Adding a Struct and an Array of Structs
 - Simplifying the Code with the ForEach View
 - Add the Greeting Title and Some Spacers
 - Cleaning Up the Code by Refactoring and Adding a Background Color
 - Adding a Cool Gradient Background
 - Random Color on Tap Gesture
 - Rotation Animation of a Circle Using a @State Variable
 - Creating a Random Caption
 - Dark Mode
 - Creating an App Icon
 - Resizing the App Icon
 - Clear the Background of the App Icon
 - Create a Launch Screen
 - Adding Documentation to the Views
 - Localizing Your App
 - Adding Yet Another Language to the App
 - Change Language in Preview and Simulator
 - Code Factorization and Some Thoughts on Landscape Mode and iPad Support
 - Landscape Views
 - Adapting to Portrait and Landscape Mode
 - Supporting iPad
 - Final Touch - Search Project - iOS 16
 - Programmatically Change Current Language
 - Persist Current Language
 - An Interesting Question: Color.orange Versus .orange?
 - Appendix: Alternative Way to Generate an App Icon
 - Mark, Todo, Minimap, and Navigation
 - Appendix: Preview Discussion
 
SwiftUI Basics
- SwiftUI Basics: HStack, VStack, ZStack, Colors, and Gradients
 - State Variables, Let Constants, Tap Gesture
 - MultilineTextAlignment, Rotations in 3D
 - SwiftUI Basics Animate Font
 - Exploring Grids in iOS 16
 - Navigation Stack and Textfield
 - Animate Everything
 - Simple List Example
 - Video Exercise: Arithmetic Progression
 - Exploring Xcode's Library Part 1
 - Exploring Xcode's Library Part 2
 
Exploring Images and AsyncImage
- Import Images and Creating Useful Enums
 - Image Scale to Fit Versus Fill
 - Aspect Ratio
 - Scroll and Iterate Through Images
 - Scroll and Overlay with Ease in Animation
 - Introducing AsyncImage
 - AsyncImage Continued
 - Simplifying the AsyncImage Code
 - Images and LazyVGrid
 - Video Exercise: Play/Pause Image
 - Solution: Play/Pause Image
 
Xcode Code Snippets
- Code Snippets
 - Page Tabbed View
 - Button Snippets
 - Gradient Text and Masks
 - Fitting the Gradient to the Text
 - Nice View Snippets
 - Image URL Snippet
 - Awesome Three Button Default Snippet
 - Animate Font, Font Weight, and Foreground Color
 - Random Colors and Random Background Color
 - Random Colors and Random Background Color
 
Cool and Interesting Questions
- NavigationStack - Replace Back Button - Part 1
 - NavigationStack - Replace Back Button - Part 2
 - NavigationStack - Replace Back Button - Part 3
 - FlexToGrid Challenge 50 25 25 Split
 - NavigationStack Title Color
 - Drag Image from Above - Part 1
 - Drag Image from Above - Part 2
 - Drag Image from Above - Part 3
 - Multi-Color Glowing Border Using Trim
 - Generic ToolTipView Using LongPressGesture
 - Challenge: Trimmed Split Capsule
 - Chocolate View - Part 1
 - Chocolate View - Part 2
 
Calculator Supporting Light and Dark Mode
- Introduction to the Light and Dark Mode Calculator
 - Calculator - Getting Started
 - Dribble Design and Selecting the Calculator Colors
 - Dark and Light Mode
 - Colors for Moon and Sun
 - Continue Main Calculator View
 - Implement Sun Moon View
 - Implementing the Computation View
 - The Enumerations
 - Button View
 - Buttons Model and Calcs Button View
 - String Helper Functions
 - Implementing the Calculator Logic - Part 1
 - Implementing Equality Logic
 - Implementing the Decimal Point Logic
 - Refactoring Code
 - iPad Detection
 - Adapting to iPad - Part 1
 - Adapting to iPad - Part 2
 - UIScreen - Begone!
 - No Symbol Found - Away!
 
Introduction to the MVVM Design Pattern with Recipes
- MVVM Example - Recipe Model
 - MVVM Example - Recipe View Model
 - MVVM Example - ListItem View
 - MVVM Example - Improving the View
 - MVVM Example - ShowRecipeView
 - MVVM Example - Touch Up the Image
 
FizzBuzz and Programs That Write Programs!
- Introduction to FizzBuzz
 - Introducing FizzBuzz in the Playground
 - The Main View
 - The About View
 - Background Image View
 - Completing the About View
 - The FizzBuzz View
 - FizzBuzz Algorithm Model
 - FizzBuzz Algorithm View Model
 - Indent String extension
 - Complete the FizzBuzz Model
 - Code Creator View
 
Create a Color Extension Based on an HTML Page
- Introduction to Programmatically Converting HTML to a Color Extension
 - Extract Color from HTML Code
 - Get Color Name
 - Get RGB Color
 - Generate Swift Code
 - Extending Color
 - Random Color Extensions
 - Grid of Colors Test
 - Video Exercise to Test Your Understanding
 
Exploring Charts
- Introduction to Charts
 - Folder Structure and Arc View
 - Random Arc from Color List View
 - Color Button View
 - Color Button Test and Bar Chart - Part 1
 - Color Button Test and Bar Chart - Part 2
 - Reorganize Chart Series - End of Chart Demo 1
 - Demo 2 - First Exploration of Bar Charts, Annotations, Chart Scale, ChartXYAxis
 - Foreground Style, Multiple Groups
 - Legend Visibility and Legend Position/Alignment
 - Demo 3 - ForEach, Custom Colors
 - Demo 3 - Bar, Line, Area Charts
 - Demo 3 - Toggle Vertical and Horizontal Mode
 - Demo 3 - Random Colors - Part 1
 - Demo 3 - Random Colors - Code Refactorization
 - Demo 3 - Random Colors - Complete the Bar Chart
 - Demo 4 - Getting Started
 - Demo 4 - Adjusting View, Adding Title with Alignment
 - Demo 4 - Title Alignment Button
 - Demo 4 - Supporting Edit Mode, Add Share Button
 - Demo 4 - Draggable Rule Mark - Part 1
 - Demo 4 - Draggable Rule Mark - Part 2
 - Demo 4 - Draggable Rule Mark - Part 3
 - Demo 4 - Adding an Annotation for Edit Mode
 - Demo 4 - ChartItem Struct
 - Demo 4 - Refactoring with the Amazing ChartItem
 - Demo 4 - Refactoring LeftChartButtonsView
 - Demo 4 - Refactoring RightChartButtonsView
 - Demo 4 - Refactoring Bar Chart Horizontal View
 - Demo 4 - Refactoring LineChartHorizontalView
 - Demo 4 - ChartDrag View modifier
 - Demo 4 - Refactoring LineChartVerticalView
 - Demo 4 - Combine Line and Area Views
 - Demo 4 - Yes! It Works!
 - Demo 4 - Adjusting Color Button for Line and Area Views
 - Demo 4 - Edit Title and Add Border
 - Funnel Chart Exercise
 - Funnel Chart Solution
 
Alarm App
- Create the Alarm Project
 - Creating the App Icon
 - Folder Structure
 - Localization
 - Color Palette
 - Time of Day Icon - Part 1
 - Time of Day Icon - Part 2
 - The Time Model
 - Time and Date Support
 - The Alarm Model
 - Dummy Alarm Data
 - Splash Screen View Structure
 - Splash Screen: Animated Circles Subview
 - Four Cool Circles View
 - Splash Screen: Animate Four Cool Circles
 - Cool Text View and Custom Fonts
 - Import Image and Complete Splash Screen
 - Enable Notifications View - General Structure
 - MainGradient, ButtonView, and Complete Enable Notifications View UI
 - About View
 - Add and Edit Alarm - Part 1 - You Did It View
 - Add and Edit Alarm - Part 2 - ToBedWakeUpView
 - Cancel and Save Buttons
 - Alarm Toggle View - Part 1
 - Time Picker
 - Select Activity View
 - SelectActivityView - Part 2
 - Back to the Main Alarm View
 - Create List of the Alarms View
 - List of the Alarms View Continued
 - Alarm Row View
 - Create AddEditCircularAlarmView
 - CentralDatePickerView
 - Circular Time View Computed Properties
 - TimeArcView
 - DisplayIconOnCircularTimeView
 - MainAddEditView
 - Replacing Context Menu with Menu
 - Add Border to Select Activity View
 - Select Activity View Expanded - Row of Circles
 - Select Activity View Expanded - Row of Activities
 - Select Activity View Expanded - In Action
 - Extending Localized Strings and Adding More Languages
 - Local Notification Manager
 - Enable Notifications and Scene Phase
 - Adding the Alarm Model and Saving State
 - Get Pending Alarms
 - Sounds, Play Sounds, Sounds UI - Part 1
 - Sounds, Play Sounds, Sounds UI - Part 2
 - Sounds, Play Sounds, Sounds UI - Part 3
 - Sounds, Play Sounds, Sounds UI - Part 4
 - Sounds, Play Sounds, Sounds UI - Part 5
 - Cleaning Up ToBedWakeUpView
 - List of Alarms and Alarms Row View - Connect to Backend
 - List of Alarms View Continued
 - Adding Schedule to Local Notification Manager
 - Adding Schedule to Local Notification Manager Continued
 - Remove Request
 - Connecting Backend to List of Alarms View
 - CancelSaveAlarm Functionality
 - CancelSaveAlarm - Schedule Alarm on Save
 - Add Sheet to ListOfAlarmsView and Add Backend to AddEditAlarmView
 - Binding currentAlarmIndex and Using Breakpoints
 - Foreground Local Push Notification
 - ListOfTheAlarmsView - Sheet for Add Alarm Button
 - Prepare Groundwork for AddEditCircularAlarmView
 - Choose Alarm View
 - Get Circular Alarm View in the Picture
 - Improve UX - AlarmRowViewButton
 - Tweak Alarm Model and Connect Circular Alarm View
 - Toggle Between Circular and Standard View
 - Toggle Add Edit Alarm Type - Image Display View
 - Toggle Add Edit Alarm Type - Select View
 
Conway's Game of Life
- Introducing John Conway's Game of Life
 - General Structure of the Main View
 - Cool Title View
 - Introducing the Board Model
 - BoardModel: GetCreature and Vitality
 - Introducing the Board View
 - Completing the Board View
 - Supporting Methods for Next Generation
 - Implementing Next Generation
 - Putting It All Together - Minimal Viable Product
 - Introducing the Controls View
 - Adding a Slider and Play Pause Button to the Control View
 - ButtonView and Play, Refresh, Clear Buttons
 - Completing the Control View
 - Play / Pause Button Implementation
 - Implementing Speed
 - Rules View - Structure
 - Rules View - Part 2 - Structure
 - Rules View - RoundButtonView
 - Rules View - GlowingCard View Modifier
 - Rules View - RulesCheckboxView
 - Rules View - ToggleButtonView
 - Rules View - Completed
 - Information View
 
Body Shape UI Challenge
- Introduction - Body Shape UI
 - Getting Started and Selecting Colors
 - Icon Right
 - Welcome Message View
 - Weight View Part 1
 - Weight View Part 2 Adding FillBarView
 - Data Summary View Row 1
 - Data Summary View Row 2
 - Data Summary View Row 2 Part 2
 - Buttons View
 - Introduction to Body Shape UI Splash Screen
 - Body Shape UI Challenge Splash Screen View
 - Results View - Getting Started
 - Results View - Create Top Row
 - Calendar Bar View - Part 1
 - Calendar Bar View - Vertical Dot Bar - Part 2
 - Calendar Bar View - Vertical Dot Bar isSelected - Part 3
 - Calendar Bar View - Vertical Dot Bar adjustments - Part 4
 - Calendar Bar View - Add Vertical Dot Bar - Part 5
 - Calendar Bar View - Add Vertical Dot Bar - Part 6
 - General Structure and New Components
 - Main Activities View - Part 1
 - Main Activities View - Part 2
 - Completing Current Activities View
 - Heart Rate View
 - Complete Result View - Yes!
 
Brevis App - Hotkeys
- Brevis - Creating the Model
 - Creating the ViewModel
 - Creating the Hotkey View
 - Adding a List of Hotkey Descriptions
 - Rotate on Tap
 - Adding an Image Background
 - Adjusting the Detailed View
 
Tip Calculator
- Supporting Light and Dark Mode
 - Sine Path
 - Localizable Strings
 - Enter Total View
 - Choose Tip View
 - ChooseTipView - Adding State and Bindings
 - Implementing Split Bill
 - Payment Summary View
 - Payment Summary View - Computed Properties
 - Cleaning Up the View
 - Custom Tip View
 - App Icon of Tip Calculator
 - Tap Out of TextField
 - Change Display Name of Calculator
 - Human Interface Guidelines Layout
 - Supporting Landscape and Portrait Mode
 - Tip Calculator - iPad Support
 
Flashcards App
- Create Flashcard Project
 - Creating the Models
 - Import Images
 - Creating the QuestionViewModel
 - Creating the FlashCardViewModel
 - TwoSidedBackgroundView
 - FillBar View
 - FlashItem View
 - Header View
 - TextAndOptionalImage View
 - Card View
 - Topic View
 - The Questions View
 - Creating the App Icon
 - Magnification Gesture
 - iPad Support for Flashcard App
 
Mystic Puzzle
- Creating the Puzzle Model
 - Adding Documentation to the Model
 - Adding the View Model and Adding Extensions to CGPoint
 - Adding Tiles to the View
 - Adding Some More Tiles
 - Adding Digits to the View
 - Adding the Two-Digit Numbers to the View
 - Add Background Images
 - Add a Custom Font
 - Move Tile on Tap
 - Shuffle Tiles
 - Adding Buttons
 - Implementing the done() Function
 - Adding a Sound Effect
 - Saving State
 - Add an App Icon
 
Quote of the Day App
- Warming Up with an Awesome View
 - Getting Started with the Main Quote App
 - Random Quote API and the Quote Model
 - The Quote View
 - The Quote View Model
 - Putting It All Together
 - MVP Completed
 - Import Images
 - Select Image View
 - Select Font View
 - Import Custom Font
 - Add Fonts to Select Image View
 - Dealing with Large Quotes
 - Sliders for Text Opacity and Size
 
Speed Code a Chill Meditation App
- Chill Meditation App
 
Meditation App - Frontend
- Getting Started
 - Color Palette and the Home Screen
 - Creating the Greetings View
 - Creating the Chips View
 - Current Meditation View
 - The Feature View - Part 1
 - The Feature View - Part 2
 - The Feature View - Part 3
 - Tab View - Part 1
 - Tab View - Part 2
 - Cleaning Up the Code
 
Finance App UI
- Introduction - Finance App
 - Getting Started with the About View
 - Color Palette and the Avatar View
 - ChoicesView Using a List of Custom Labels
 - About View - Final Tweaks and Adding an Optional Description
 - CreditCardView - Import EMV Chip from Figma
 - CreditCardView - The Chip
 - CreditCardView - Working on the View
 - CreditCardViewPage
 - CreditCardViewPage Continued
 - CreditCardViewPage Completed
 - CreditCardView - TopView
 - CreditCardView - Adding Folders
 - CreditCardView - TransactionView
 - CreditCardView - Import Icons from FlatIcons
 - CreditCardView - Using Icons
 - YourBalanceView - Getting Started
 - YourBalanceView - First Steps
 - YourBalanceView - Designing the Header
 - YourBalanceView - Designing the Amount View
 - YourBalanceView - Actions View
 - YourBalanceView - Action of the Week View
 - YourBalanceView - Monthly Expenses View
 - YourBalanceView - Monthly Expenses View Completed
 - YourBalanceView - Monthly Expenses View Refactoring Bar View
 - Video Exercise (Apple Fitness Exercise UI)
 - IMPORTANT!
 - Solution - Part 1
 - Solution - Part 2
 - Solution - Part 3
 - Solution - Part 4
 - Solution - Part 5
 - Solution - Part 6
 
Multilingual Animals
- Getting Started and Creating the Background
 - Get Pictures from Pexels
 - Resize and Import Images
 - Animal Image Enumeration
 - The Animal Model
 - Speech
 - AnimalViewModel
 - The Animal Image View
 - Language View Model
 - AnimateView: Image
 - Animate View Buttons
 - AnimateView: The Flags
 - Creating the App Icon
 
Task Manager UI Exercise
- Part 1 - The Getting Started View
 - The Color Palette
 - Create the Avatar View
 - Cleaning Up the Code
 - Creating a Custom Shape
 - Adding a Navigation View
 - Code Refactoring and Adding Multiple Views
 - Dark Mode
 - Part 2 - The Monthly Review View
 - The Circle Avatar
 - Completing the Top Avatar View
 - Concentric Circles Using ForEach and ScaleEffect
 - Mobile App Design View
 - Monthly Review Title View
 - Task Summary View
 
Apply for Certification
https://www.vskills.in/certification/swift-ios-16-programming-certification-course
