Top 8 Recommended Swift Self-Study Materials! [November 2024]
This page introduces the best in educational materials for beginners who are trying to learn Swift on their own.
Table of Contents:
1. Description of this page
We introduce 8 recommended video courses on various platforms for those who want to learn Swift on their own.
What is Swift?
Swift is a programming language developed by Apple in 2014. As an Apple-made language, it can be used to develop applications for various Apple products such as Mac, iPhone, iPad, and Apple Watch.
Our site, "Outlecture," evaluates courses using our proprietary algorithm that balances course rating, freshness of information, number of purchasers and viewers, and recent rate of increase, in order to extract only the most suitable courses for users.
In addition, we will explain the features of each video platform and provide use cases such as "this is better for people in this situation."
We hope this will be a reference for everyone who is going to learn Swift.
2. Top 5 Recommended Udemy Courses
Here are Outlecture's top 5 recommended Udemy courses, carefully selected for you.
Title | Ratings | Subscribers | Subscribers last month (October 2024) | Level | Video Duration | Created | Last updated | Price |
---|---|---|---|---|---|---|---|---|
iOS 18, SwiftUI 6, & Swift 6: Build iOS Apps From Scratch | 4.68 | 10,515 | 649 | all | 32 hours 32 minutes | Dec 23rd, 2021 | Jul 19th, 2024 | $84.99 |
iOS & Swift - The Complete iOS App Development Bootcamp | 4.72 | 392,156 | 2,114 | all | 59 hours 37 minutes | Jul 2nd, 2018 | Nov 1st, 2023 | $174.99 |
iPhone Apps for Complete Beginners - Swift, SwiftUI & iOS17 | 4.71 | 1,753 | 89 | beginner | 9 hours 31 minutes | Sep 15th, 2023 | Oct 13th, 2023 | $19.99 |
Unit Testing Swift Mobile App | 4.65 | 9,568 | 94 | beginner | 8 hours 40 minutes | Oct 7th, 2019 | Aug 14th, 2024 | $89.99 |
Deep Dive iOS 18 & SwiftUI 6: 80-Hour Project-Based Course | 4.77 | 3,028 | 368 | all | 86 hours 13 minutes | Oct 11th, 2021 | Oct 29th, 2024 | $79.99 |
Udemy, Inc. is an education technology company that provides the world's largest online learning and teaching platform.
The features of Udemy include:
- Over 155,000 course
- Instructors who are leading experts in their fields
- Affordable prices range from tens to hundreds of dollars per course, with discounts of up to 70-90% during campaigns
- Courses can be viewed without expiration after purchase, and come with a 30-day money-back guarantee
- Courses can be taken at the student's own pace, with playback speeds of 0.5 to 2 times normal speed, and can be viewed offline on a smartphone with a dedicated app
- Students can ask questions directly to the instructor on the course discussion board, allowing them to resolve any doubts and receive support for self-study
These are some of the benefits of using Udemy.
The management team at Outlecture consists of active software engineers, creators, and web designers. We often catch up on learning new programming languages and products by taking courses on Udemy.
As for our experience, we find that Udemy offers courses of very high quality. The instructors are all leading figures in their fields, and they teach cutting-edge knowledge and practical know-how in a clear and detailed manner. You can acquire the knowledge and skills that are actually used in the field and in practical projects, rather than just knowledge for exams.
We highly recommend Udemy courses, especially for those who want to apply what they learn in practical situations or for those who want to start self-studying. Once you purchase a course, you can take it without a time limit, and there is a 30-day money-back guarantee, so you can start learning with peace of mind.
Recommended for
- Planning to use Swift in actual projects
- Wanting to learn the know-how of professionals who are active in the world's cutting-edge fields
- Hesitant to use a subscription service
- Having basic IT knowledge
The details of each course are as follows:
Learn iOS development with SwiftUI 6 and Swift 6; build complete iOS 18 apps from scratch; visionOS, macOS, watchOS
- Ratings
- 4.68
- Subscribers
- 10,515
- Subscribers last month
(October 2024) - 649
- Level
- all
- Video Duration
- 32 hours 32 minutes
- Created
- Dec 23rd, 2021
- Last updated
- Jul 19th, 2024
- Price
- $84.99
Welcome
Welcome to my course on building apps for iOS 18 using SwiftUI 6 and Swift 6. I'm so excited to show you Apple’s latest and greatest development technologies to build complete iOS apps from scratch with SwiftUI, and give you the capabilities to launch a career worth over 120k a year, based on the latest data from Glassdoor.
Swift and SwiftUI were built to be as universally applicable as possible, so even though the focus of this course is on building apps for iOS, most of what we’re learning can also be applied to iPadOS, macOS, watchOS, tvOS, and even the new visionOS.
"Easy to follow and good explanations!" - 5-star student review.
"Easy to understand and get started." - 5-star student review.
What is SwiftUI?
SwiftUI is Apple's design tool of choice. And for the past few years, Apple has been putting their full efforts behind the development of new and better SwiftUI features, so for anyone who is serious about developing iOS apps, SwiftUI is definitely one of the best things you can learn to make sure you’re up to speed with the most relevant mobile development practices.
With SwiftUI 6, Apple added tons of amazing new features, and I can't wait to show them to you throughout the course!
Why choose a career in iOS development?
Developing iOS apps with SwiftUI is something that many employers are looking for in the developers they hire, so not only are you learning an awesome technology to build your own personal projects, but you’re also gaining a valuable skill that can help you get a top-paying development job from companies all around the world.
According to Glassdoor, here are the average U.S. salaries for common developer positions:
iOS developer - $123.635
Android developer - 116,257
Web developer - 92,816
Who should take this course?
This course is for people at all levels of programming experience. If you’re an absolute beginner with no prior experience, this course will teach you everything you need to know, starting from scratch. If you’ve already been in the industry for a while, this course will introduce you to the latest additions to Apple’s most popular tools and frameworks.
Many students have already gone through the course, and here's what they're saying so far:
"The way the instructor explained it, it's really clear and easy to understand."
"Easy to understand, good for beginners and instructor is very organized."
"Early into the course at the moment. I get bored easy and have tried a few different courses which simply haven’t engaged me or have had massive gaps. Instructor has clear and steady pace and has so far kept my interest."
"Very good course."
"Awesome course. explains everything very nicely and you can start with 0 knowledge."
"This is the best course for learning SwiftUI and iOS, I really recommend this course if you are new to iOS."
"The teacher is very good and knowledgeable about Swift and SwiftUI."
"Great course."
"Great explanation for beginners about SwfitUI. Learning alot. Thanks for your explanation."
"Yes, great instruction. I am learning a lot about SwiftUI."
How This Course Is Structured
After the Intro & Welcome section, we jump right into building our apps using the latest and greatest releases from Apple using iOS 18, SwiftUI 6, and Swift 6.
Learn about new updates to images, SF Symbols, scrolling, animations, transitions, maps, data storage, and so much more!
Personally, I don't like boring courses, so we're going to be developing complete, real-world apps with fun themes like Lord of the Rings, Jurassic Park, Breaking Bad, Pokemon, and Harry Potter.
But don't let the "fun" part fool you. We're not skipping out on any of the learning part. We have a ton of topics to cover in this course, and I go over each one in great detail so you can really understand and use them in all your future apps.
You Can Shape the Future of this Course
My goal is to make this course the best iOS course available to really teach iOS app development, so I welcome all comments, questions, and feedback of any kind so I can make sure I’m serving you well.
"Super explained, learning material is perfectly prepared, it is a pleasure to complete this course. I hope more will follow soon and I'm already looking forward to it. Thanks for the great course experience, keep up the good work." - 5-star review
"Good pace and structure for beginning programmers. Easy to follow with clear instructions. Well done!" - 5-star review
Let's Get Started!
If you've read this far, you're almost there. Don't skip this opportunity to gain a valuable, fun, and monetizable skillset. You can do this! And I can help you.
Let's get started!
- Introduction
- Introduction
- Course Outline
- Welcome to the Course!
- Download and Install Xcode
- Get Free Access to 1000's of Images, Video, Audio, & App Icons You Can Use
- iOS 18 Jumpstart
- Intro
- Lesson 1 - Xcode & Symbol Effects
- Lesson 2 - ScrollView
- Lesson 3 - SwiftData
- Lesson 4 - Preview Data
- Lesson 5 - SwiftData Query
- Lesson 6 - SwiftData Predicate
- Lesson 7 - MapKit
- Lesson 8 - Transitions & Swipe Actions
- Lesson 9 - Swift Charts
- Lesson 10 - Math Function Plots
- Lesson 11 - Bringing It All Together With TabView
- LOTR Converter - Currrency Converter App
- iOS 18 Updates
- LOTR Converter Intro
- Download and Install Xcode 15
- Lesson 0 - How to Think Like a Programmer
- Lesson 1 - Create and Set Up New Xcode Project
- Lesson 2 - Laying Out Our Main Screen With Stacks
- Lesson 3 - Adding Views To Our Design
- Lesson 4 - Buttons & Properties
- Lesson 5 - TextFields & Bindings
- Lesson 6 - Laying Out Our Exchange Info Screen
- Lesson 7 - Duplicating Our Exchange Rate View
- Lesson 8 - Show and Dismiss a Screen
- Lesson 9 - Laying Out Our Select Currency Screen
- Lesson 10 - Grids & Loops
- Lesson 11 - Models & Enums
- Lesson 12 - Computed Properties
- Lesson 13 - Arrays
- Lesson 14 - Make Icon Grid Tappable
- Lesson 15 - IconGrid
- Lesson 16 - @Binding
- Lesson 17 - Convert Function
- Lesson 18 - Observe Properties
- Lesson 19 - More Observations
- Lesson 20 - TipKit
- Coding Exercise! - Conversions
- LOTR Converter Coding Challenge
- JP Apex Predators - Master Detail App
- iOS 18 Updates
- JP Apex Predators Intro
- Lesson 0 - How to Keep Your Programming Skills Sharp
- Lesson 1 - Create JP Apex Predators Project
- Lesson 2 - Build ApexPredator Model
- Lesson 3 - Build Predators Class
- Lesson 4 - List
- Lesson 5 - Navigation & Search
- Lesson 6 - Filter & Sort
- Lesson 7 - More About Filter
- Lesson 8 - Predator Detail
- Lesson 9 - More Predator Details
- Lesson 10 - Gradient
- Lesson 11 - MapKit
- Lesson 12 - Map View
- Lesson 13 - iMessage Stickers
- Coding Exercise! - Sort & Filter
- JP Apex Predators Coding Challenge
- BB Quotes - Say My Name - Networking App
- iOS 18 Updates
- BB Quotes Intro
- Lesson 0 - How to Think in Versions
- Lesson 1 - Project Setup & TabView
- Lesson 2 - URLs & Models
- Lesson 3 - Optionals
- Lesson 4 - Concurrency
- Lesson 5 - Fetch Functions
- Lesson 6 - ViewModel
- Lesson 7 - ViewModel: Part 2
- Lesson 8 - AsyncImage
- Lesson 9 - Custom Colors
- Lesson 10 - Fetch Quote
- Lesson 11 - CharacterView
- Lesson 12 - CharacterView: Part 2
- Lesson 13 - Version 2.0
- Lesson 14 - More on TabView
- Lesson 15 - ScrollViewReader
- Lesson 16 - Extensions & Constants
- Lesson 17 - Episode Model
- Lesson 18 - Fetch Episode
- Lesson 19 - EpisodeView
- BB Quotes Coding Challenge
- Dex3 - Core Data App
- iOS 18 Updates
- Lesson 1 - Set Up Core Data App
- Lesson 2 - Pokemon API
- Lesson 3 - Pokemon Core Data Model
- Lesson 4 - Replacing Item Code With Pokemon Code
- Lesson 5 - TempPokemon Model
- Lesson 6 - Fetching 386 Pokemon
- Lesson 7 - PokemonViewModel
- Lesson 8 - Design Pokedex Row
- Lesson 9 - SamplePokemon
- Lesson 10 - Design Pokemon Detail Screen
- Lesson 11 - Extend Our Pokemon Model
- Lesson 12 - SwiftCharts
- Lesson 13 - Add PokemonViewModel and Fetch Some Data!
- Lesson 14 - Fetch With Core Data
- Lesson 15 - Favorites and Filtering
- Lesson 16 - Designing the Home Screen Widget
- Lesson 17 - WidgetKit Extension
- Lesson 18 - Build Pokemon Widget!
- HP Trivia - Animations, Audio, & In-App Purchases
- iOS 18 Updates
- HP Trivia Intro
- Lesson 1 - Set Up Our Game Project
- Lesson 2 - Lay Out The Title Screen
- Lesson 3 - Animations & Audio
- Lesson 4 - Animating Transitions
- Lesson 5 - Build Game Instructions Screen
- Lesson 6 - Build Settings Screen Design
- Lesson 7 - Tap Gestures For Book Statuses
- Lesson 8 - Gameplay Views
- Lesson 9 - Gameplay Transitions
- Lesson 10 - Celebration Screen
- Lesson 11 - Gameplay Animations
- Lesson 12 - Handle User Interaction
- Lesson 13 - MatchedGeometryEffect
- Lesson 14 - Wrong Answers & Next Level
- Lesson 15 - Reset Screen & Add Game Sound Effects
- Lesson 16 - In-App Purchases Pt 1: Configuration
- Lesson 17 - In-App Purchases Pt 2: Purchase Functions
- Lesson 18 - In-App Purchases Pt 3: Test Purchases
- Lesson 19 - Question Model
- Lesson 20 - Game ViewModel Pt 1: All About Questions
- Lesson 21 - Game ViewModel Pt 2: All About Answers
- Lesson 22 - Game ViewModel Pt 3: All About Scores
- Lesson 23 - Add Game Logic to ContentView
- Lesson 24 - Add Game Logic to Gameplay View
- Lesson 25 - Persistence
- Lesson 26 - Finishing Touches
From Beginner to iOS App Developer with Just One Course! Fully Updated with a Comprehensive Module Dedicated to SwiftUI!
- Ratings
- 4.72
- Subscribers
- 392,156
- Subscribers last month
(October 2024) - 2,114
- Level
- all
- Video Duration
- 59 hours 37 minutes
- Created
- Jul 2nd, 2018
- Last updated
- Nov 1st, 2023
- Price
- $174.99
Welcome to the Complete iOS App Development Bootcamp. With over 39,000 5 star ratings and a 4.8 average my iOS course is the HIGHEST RATED iOS Course in the history of Udemy!
At 55+ hours, this iOS 13 course is the most comprehensive iOS development course online!
This Swift 5.1 course is based on our in-person app development bootcamp in London, where we've perfected the curriculum over 4 years of in-person teaching.
Our complete app development bootcamp teaches you how to code using Swift 5.1 and build beautiful iOS 13 apps for iPhone and iPad. Even if you have ZERO programming experience.
I'll take you step-by-step through engaging and fun video tutorials and teach you everything you need to know to succeed as an iOS app developer.
The course includes 55+ hours of HD video tutorials and builds your programming knowledge while making real world apps. e.g. Pokemon Go, Whatsapp, QuizUp and Yahoo Weather.
The curriculum has been completely revamped for iOS 13 and Xcode 11. Including comprehensive modules on Apple's latest technology - SwiftUI iOS, iPadOS and macOS app interface design, ARKit for making Augmented Reality apps as well as CoreML & CreateML for making intelligent apps with Machine Learning. You'll be building 3D augmented reality apps that look like Pokemon Go and Harry Potter's magical newspapers!
By the end of this course, you will be fluently programming in Swift 5.1 and be ready to make your own apps or start a freelancing job as an iOS 13 developer.
You'll also have a portfolio of over 25 apps that you can show off to any potential employer.
Sign up today, and look forwards to:
Over 55 hours of HD 1080p video content, everything you'll ever need to succeed as a iOS developer.
Building over 25 fully-fledged apps including ones that use machine learning and augmented reality
All the knowledge you need to start building any app you want
A giant bundle of design assets
Our best selling 12 Rules to Learn to Code eBook
$8000+ app development bootcamp course materials and curriculum
From Beginner to iOS 13 App Developer with Just One Course
We know that you're here because you value your time. If you wanted to watch someone program for hours and hours without explaining what they're doing, you'd be on YouTube.
By getting this course, you can be rest assured that the course is carefully thought out and edited. There are beautiful animations that explain all the difficult concepts and the videos are fully up to date with the latest versions of Swift and Xcode.
So by the end of the course, you'll completely understand:
Concepts of Object Oriented Programming (OOP): The type system, variables, functions and methods, inheritance, structures, classes and protocols.
Control Structures: Using If/Else clauses, Switch statements and logic to control the flow of execution.
Data Structures: How to work with collections, such as arrays and dictionaries.
Software Design: How to organise and format code for readability and how to implement the Model View Controller (MVC) design pattern, Apple's favourite delegation pattern and the publisher pattern.
Networking: How to make asynchronous API calls, store and retrieve data from the cloud, and use the JSON format for server communication.
Persistent Local Data Storage: How to use Core Data, Realm, Codable and User Defaults to store your app data locally.
How to Implement In-App Purchases with Apple StoreKit
Machine Learning: How to make artificially intelligent apps and build your own machine learning models using iOS 13's new CoreML2 and CreateML frameworks.
Augmented Reality: How to create 3D objects in augmented reality and create incredible 3D animations and real-life interactions using Apple's latest ARKit2 framework.
SwiftUI: How to use Apple's brand new UI framework to create user interfaces programmatically that look good across all Apple products.
Don’t waste your time
Don't waste another minute of your precious life on poor quality videos on YouTube. Or instructors who you can't understand. Or teachers who have no real world in-person teaching experience. Your time is precious. Take this course and find out why everybody is raving about it and why over 39,000 students rated it 5 stars!
Don't waste your money
Inside this course, you're getting exactly the same course materials and curriculum as our 12 week in-person programming bootcamp. Instead of spending $8000 dollars and taking time off work, save loads of money by getting this course and do it at your own pace!
Don't just take my word for it, see what my past students had to say about the course:
"You will not find a better teacher than Angela. She does a wonderful job of encouraging you to learn swift the right way. I want to encourage everyone thinking about taking this class to get it, as it is the BEST Swift programming class I've seen on anywhere and I've tried more than a few of them. If you are looking for an excellent swift programming course, stop there here because you have found it. You will learn Swift from the very beginning of programming all the way through making your own apps that you can upload to the App store." - Ian Hopjins
"SO GOOD!!! Retention rate is incredible because Angela does a great job in explaining and teaching every aspect of what we are doing. Most of the other instructors on Udemy put code on the screen and pretend nothing happened. This course is amazing! 5/5" - Muhammad Ibrahim
"Angela is a spectacular teacher!" - Marco Zanirato
"This course was terrific. Only after taking a few more courses from others that I realized how good this course was. This course taught me more than I was expecting, it provided great instructions and a lot of hands-on tasks to drill-in the concept." - Marc
"Best use of your money! I was a complete beginner but Angela made me a pro in weeks." - Burak Tunçbilek
"IT IS #1!!!!!!!!! Absolutely Amazing. The best iOS course i have ever taken. Angela explains everything the way it needs to be explained, so everything is easily understood. The concept of this course is built to make you learn, not just watch and repeat. Angela is highly educated and it is very much noticeable during the entire course. Again, it is fantastic. Thank you. Please create more courses!!!!!" - Eduard Khachian
Are you trying to choose between all the different iOS courses on Udemy? Take a look at what students on my course had to say about this:
I have revamped my expectation for what a 5 star course should be for Udemy. Angela, you're awesome! I already rated the course as 5 stars early on (at about 20% completion), but after completing roughly 70% of the course, I can say this is my favourite Udemy course as of today. Brilliant course Angela! - Alberto L
"I took a lot of courses on Udemy and elsewhere and non of them were as clear and perfectly paced as this one! Angelas approach is really awesome, deep and clear." - Žan Fras
"I have taken several iOS courses, so far this course had the best explanation on swift and xcode documentation. The lecturer is kinda humorous sometimes which make this course even more enjoyable." - Bryan Pukanda
"I have taken lots of courses on udemy and elsewhere for self learning and i can tell you with all the honesty this is one course which i did not want it to end. It is like one of those movies that you wish keeps going. Whatever concepts are covered were covered very beautifully and made learning quite simple. I got so many answers to Why? in this course like how closures work and why they work that way... why delegates work that way. Thank you so much for this course." - Arun Lakhera
"I compare this to another top iOS class on Udemy, but I think that this one beats it. The reason? Angela doesn't show you a plethora of material and then say that we will discuss this later, or say "just do this. You will see why later." She goes into the reason for doing something before doing it." - Clyde Addison
Do you have some experience developing iOS apps and wonder if this course is for you? Take a look at what students on my course had to say about this:
"This is the best-organized course for starting Swift that I've seen. The course is excellent for teaching Swift programming including vital information using Xcode, Github, Cocoapods, Stack Overflow, Alamofire, Firebase, REST APIs and all the services commonly used by app developers. They show all the ways of using Xcode and other services that took me months to learn willy nilly. Wish I had this course a year ago but even with a year of Swift experience I still found a lot of great information and helpful tips. Love all the extras the course provides especially the assets(graphics, sound files, etc) for practice projects as I'm always taking too much time to find some assets to play with. This course understands how to teach programmers by giving them the toolsets and abilities they need to build apps. The course teaches the foundation of the language as well as skills to build your knowledge and improve your troubleshooting skills. Angela is a wonderful speaker and should do the voiceovers on everyone's instructional videos, seriously. :)" - Marcy Vernon
"Def. an amazing and awesome class for learning iOS programming. I've been coding for years and taken many programming related classes on Udemy and this is def. one of the best. The instructor walks you through all the in's and out's of developing apps for the iOS platform. Top Shelf A++ class." - Mirko Cukich
REMEMBER… I'm so confident that you'll love this course that we're offering a FULL money back guarantee for 30 days! So it's a complete no-brainer, sign up today with ZERO risk and EVERYTHING to gain.
So what are you waiting for? Click the buy now button and join the world's most highly rated iOS 13 app development course.
- Getting Started with iOS Development and Swift 5
- Intro to the Course. What's coming up?
- Download the Course Syllabus
- The Giant List of Resources
- How does an App Work?
- How to Make an App
- How to Get All the Free Stuff
- Download your Massive Bundle of Assets
- Download the 12 Rules to Learn to Code eBook PDF
- How to Make the Most of the Bootcamp
- How to Get Help When You're Stuck
- Can I use Windows to develop iOS apps? (and other FAQs)
- Developing for iOS - Tools and Materials
- Getting set up with Xcode
- Pathfinder
- Xcode Storyboards and Interface Builder
- The I am Rich App
- A Note About the Next Lesson
- Let's Create a Brand New Xcode Project
- A Walkthrough of the Xcode Development Environment
- Let's Design the User Interface!
- Let's Incorporate Some Image Assets
- How to Design and Add an App Icon
- A Note About the Next Lesson
- Run Your App on Your iPhone or Simulator
- Join the Student Community
- How to Ace this Course
- Xcode Storyboard and Interface Builder Challenge
- What You Will Create
- Step 1: Create a New Xcode Project
- Step 2: Add a Label Element from the Object Library
- Step 3: Add an Image View to the Storyboard
- Step 4: Add an App Icon
- Step 5: Run Your App
- Step 6: Show off your work!
- Tip from Angela - Habit Building with the Calendar Trick
- Swift Programming Basics - Collections, Constants & Variables
- What You'll Make by the End of This Module
- Cloning from GitHub and How to Download the L.A.B. Project Stubs
- How to Design Your App
- Let's Link Our Design to Our Code
- Responding to User Interactions with IBActions
- Bug Hint ?Thread 1: signal SIGABRT and "Not Key Value Coding Compliant"
- [Swift Deep Dive] Naming Conventions, Commenting and String Interpolation
- Storing Data using Variables and Arrays
- [Swift Deep Dive] Variables
- [Coding Exercise] Variables
- [Swift Deep Dive] Arrays
- [Code Exercise] Arrays
- How to Randomise the Dice Images
- ?How to Solve the Error: "Maximum number of apps for free development reached"
- [Swift Deep Dive] Constants, the Range Operator and Randomisation
- [Code Exercise] Constants
- [Code Exercise] Randomisation
- Download the Completed App Project
- Do You Want This?
- Tip from Angela - Dealing with Distractions
- Swift Programming Basics Challenge
- What You Will Create
- Step 1: Clone the Starting Project
- Step 2: Design the User Interface
- Step 3: Link Up the Design with Code
- Step 4: Use Code to Change the 8 Ball Image
- Step 5: Make the Ball Image Random
- Step 6: Show off your work!
- Download the Completed Project
- Tip from Angela - Nothing Easy is Worth Doing!
- Auto Layout and Responsive UIs
- Why do we need Auto Layout?
- Size Classes Explained
- Setting Constraints and working with the Safe Area
- How to use Alignment and Pinning
- Working with Containers and Subviews
- Stack Views
- Auto Layout (Optional) Boss Challenge
- Download the Completed Project
- Calculator Challenge Solution and Walkthrough
- Tip from Angela - How to Deal with Procrastination
- Using and Understanding Apple Documentation
- What You'll Make by the End of this Module
- Setting up the Xylophone Project
- The 5 Step Approach to Solve Any Programming Problem
- [Swift Deep Dive] Functions and Scope
- [Coding Exercise] Functions Part 1
- Linking Multiple Buttons to the Same IBAction
- [Swift Deep Dive] Functions with Inputs and Type Inference
- [Coding Exercise] Functions Part 2
- Playing Different Xylophone Sounds
- Boss Challenge
- Download the Completed App Project
- Tip from Angela - Building a Programming Habit
- Intermediate Swift Programming - Control Flow and Optionals
- What You'll Make by the End of this Module
- Setting up the Egg Timer Project and Linking the Storyboard and ViewController
- [Swift Deep Dive] If-Else Control Flow
- [Coding Exercise] IF/ELSE
- [Swift Deep Dive] Switch Statements
- [Coding Exercise] Switch
- Conditional Statements Challenge Solution
- [Swift Deep Dive] Dictionaries
- [Coding Exercise] Dictionaries
- [Swift Deep Dive] Defining and Unwrapping Optionals
- [Coding Exercise] Optionals
- Dictionary Challenge Solution
- Implementing a Countdown Timer Challenge
- Egg Timer Challenge Solution
- Showing the Timer to the User with a Progress View
- Calculating the Progress Percentage
- Using the 5 Step Approach to Debug our App
- Download the Completed App Project
- Tip from Angela - Set Your Expectations
- iOS App Design Patterns and Code Structuring
- What You'll Make by the End of this Module
- Setting up the Quizzler Project and Showing the Questions
- Checking Answers using 2-Dimensional Arrays
- [Swift Deep Dive] Structures, Methods and Properties
- [Coding Exercise] Structures
- Creating a Question Struct
- Giving the User Feedback and working with a ProgressView
- Understand the MVC Design Pattern
- Implementing MVC and Understanding Parameter Names
- [Swift Deep Dive] Functions with Outputs and Return Types
- [Coding Exercise] Functions Part 3
- Refactoring to Implement the MVC Design Pattern
- [Swift Deep Dive] Immutability
- Using Mutating Functions to Track the Score
- Download the Completed App Project
- Tip from Angela - The 20 Minute Method
- iOS App Design Pattern Challenge
- What You'll Create
- Step 1: Clone the Starting Project
- Step 2: Update the storyLabel and Button Titles
- Step 3: Create a Structure
- Step 4: Update the Story
- Step 5: Apply MVC
- Step 6: Make the StoryBrain more Scalable
- Step 7: Show off your Work!
- Download the Completed App Project
- Tip from Angela - Retrieval is How You Learn
- Advanced Swift Programming - Classes, Inheritance & Advanced Optionals
- What You'll Make by the End of this Module
- Learn How to Use a UISlider
- Using the UISliders to Calculate the BMI
- [Swift Deep Dive] Classes and Inheritance
- [Swift Deep Dive] Structs v.s. Classes
- How to Use the Docs in Xcode and Create a Custom UIViewController Class
- How to Create a UI Programatically and Pass Data between ViewControllers
- Segues and Navigation for Multi-Screen Apps
- Adopting MVC by Creating a CalculatorBrain
- [Swift Deep Dive] Optional Binding, Chaining, and the Nil Coalescing Operator
- Use Optionals in Practice and Add the Finishing Touches with Colour Literals
- Download the Completed App Project
- Tip from Angela - Learning Before you Eat
- Advanced Swift Programming Challenge
- What You'll Make
- Step 1: Clone the Starting Project
- Step 2: Create IBActions and IBOutlets for the Calculator Screen
- Step 3: Create IBActions and IBOutlets for the Results Screen
- Step 4: Figure out how much Tip to Apply
- Step 5: Figure out how Many People to Split the Bill Between
- Step 6: Calculate the Bill
- Step 7: Pass the Result to the ResultsViewController
- Download the Completed App Project
- Tip from Angela - Dealing with Lack of Progress
- Networking, JSON Parsing, APIs and Core Location
- What You'll Make by the End of This Module
- Dark Mode and Working with Vector Assets
- Learn to use the UITextField
- [Swift Deep Dive] Protocols
- The Delegate Design Pattern
- An Example of Protocols and Delegates in Practice
- Understanding the OpenWeather API and URL Parameters
- Use the URLSession for Networking
- [Swift Deep Dive] Closures
- JSON Decoding
- Create a WeatherModel and Understand Computed Properties
- Typealiases and a Protocols and Delegate Challenge
- [Swift Deep Dive] Internal and External Parameter Names
- Method Naming Conventions and Error Handling
- Updating the UI by Using the DispatchQueue
- [Swift Deep Dive] Extensions and Default Implementations for Protocols
- Using Extensions to Refactor the ViewController
- Using CoreLocation to get Location Data
- What is a Property List (.plist)?
- Download the Completed App Project
- Tip from Angela - Mixing Knowledge
- Networking and API Challenge
- What You Will Make
- Step 1: Clone the Starting Project
- Step 2: UIPickerView Functionality
- Introducing coinapi.io
- Step 3: Make the API Request
- Step 4: Parse the JSON Data
- Step 5: Update the User Interface Using the Delegate Pattern
- Step 6: Refactor with Extensions
- Download the Completed App Project
- Tip from Angela - Dealing with Frustration
- Firebase Cloud Firestore, TableViews and Cocoapod Dependencies
- What You'll Make by the End of this Module
- Navigation Controller Stacks and Segues
You'll go from a complete beginner to having your own app in the App Store. Brand new (filmed Fall 2023) using Xcode 15
- Ratings
- 4.71
- Subscribers
- 1,753
- Subscribers last month
(October 2024) - 89
- Level
- beginner
- Video Duration
- 9 hours 31 minutes
- Created
- Sep 15th, 2023
- Last updated
- Oct 13th, 2023
- Price
- $19.99
Hi, I'm Nick. I LOVE to make iPhone apps. And I want to share the magic of making iPhone apps with you!
I'm a self taught developer so I know what it's like to start as a true beginner. I've structured my course to be the course I wish I had when I was learning how to make apps for the first time. Filmed in Fall 2023, this course uses the latest tools of iOS 17 and Xcode 15.
In this course, we'll start first by learning the design side of making apps using SwiftUI. We'll go step by step from basic shapes, to creating your own mini-resume app! (It's the cutest resume you've ever seen)
Then we'll start learning Swift, the programming language used to make iPhone apps. We'll start with basics topics like variables and constants, and then build on those skills so that by the end of the course you'll understand intermediate concepts like functions and classes.
In this course we'll make 4 apps:
Resume App
Text Manipulator App
Journaling App (SwiftData)
Course Listing App (Web/APIs)
We'll then finish the course by teaching you the process to submit your own apps to the App Store!
I can't wait to show you all the excitement that comes from creating your own apps and sharing them with the world. Let's get started!
- Introduction
- Introduction
- Resume App - SwiftUI and Designing Apps
- Xcode Tour
- Views
- HStack and VStack
- Modifiers
- Spacer and ZStack
- Resume App
- Text Editor App - Swift Basics
- Variables and Constants
- Types: String, Int, and Double
- Comments and Print
- Displaying Data
- TextField
- Structs
- Reusable Views
- If Statements
- Finding Answers
- Daily Journal App Part 1 - Lists and Multi-Screen Views
- Renaming and Refactoring
- Arrays
- Lists and Arrays
- Classes and Identifiable
- NavigationStack and NavigationLink
- Adding Properties
- Detail Views
- Row View
- For Loops
- Daily Journal App Part 2 - SwiftData
- SwiftData Basics
- @Query and Fetching Data
- Saving SwiftData Objects
- Booleans
- Displaying a View with Sheets
- Forms and Data Input
- Dismissing Sheets
- Editing SwiftData Objects
- Deleting Objects from SwiftData
- Course List App - Web APIs and JSON
- Course List Preview
- Functions
- Parameters and Return
- Optionals
- APIs and JSON
- URLSession and URLRequest
- JSONDecoder
- Listing Courses
- AsyncImage
- SF Symbols
- Design Polish
- Getting Your App on the App Store
- Paid Developer Account
- Certificates, IDs, and Profiles
- Uploading
- Metadata
- Outro
- So Long!
- Bonus - Adding Search to the Journal App
Apply Test-Driven Development(TDD) process to iOS mobile app development in Swift
- Ratings
- 4.65
- Subscribers
- 9,568
- Subscribers last month
(October 2024) - 94
- Level
- beginner
- Video Duration
- 8 hours 40 minutes
- Created
- Oct 7th, 2019
- Last updated
- Aug 14th, 2024
- Price
- $89.99
Unit Testing is a must-have skill and this video course is about Unit Testing Swift code.
If you take this video course, you will learn how to follow a Test Driven Development process to implement a feature for an iOS mobile app built with Swift.
This video course starts with Unit Test basics and continues with a very practical set of lessons that demonstrates how to follow a Test-Driven process to implement the User Signup feature in the Model View Presenter mobile app.
By the end of this video course, you will have a very clear understanding of how to write Unit Tests and UI Tests for your Swift mobile application, and you will be able to test even very complex Swift code.
If you are a freelance developer you might postpone learning how to unit test iOS app for some time. But if you are planning to join a bigger team, then unit testing is a must-have skill for you to be able to work on important app features.
Have a look through the curriculum of this course to see what it covers. Watch a few sample video lessons. And if you have questions, I am always here to help you.
- Introduction
- Source Code
- Introduction
- Basics of Unit Testing in Xcode
- Introduction
- Testing Pyramid
- The F.I.R.S.T Principle
- Test-Driven Development Lifecycle
- Enable Unit Tests in Xcode Project
- The Default Unit Test Case Class Explained
- The addTeardownBlock()
- Creating a New Test Case Class
- Ways to Run Unit Test in Xcode
- The Default Order of Unit Tests
- Unit Test Naming Requirements
- Ways to Disable or Skip Unit Test
- Viewing Test Results
- Code Coverage
- 100% Code Coverage
- Test Method Code Structure. Arrange, Act, Assert.
- Assertions
- Enabling the Failure Debugger Breakpoint
- Parallel Distributed Testing on Multiple Simulator Clones
- TDD. Implementing Model Validator
- Introduction
- Test That User First Name is Valid
- Test for a very short First Name
- Test for a very long First Name
- Challenge: Apply TDD to Implement Validation of Last Name and Email Address
- Test if user passwords match
- Test if user passwords do not match
- Test Code in Isolation
- Introduction
- Dependency Injection
- Use of Protocols
- Test Toubles - Fake, Mock, Stub, Dummy
- TDD. Implementing Network Service Class.
- Introduction
- Create Initial SignupWebServiceTests Unit Test class
- Create Initial SignupWebService Class
- Implementing SignupFormRequestModel
- Adding CompletionHandler to Signup Method Signature
- Implementing the Initial SignupResponseModel
- Implementing the Initial SignupErrors Enum
- Organize Project Folders
- Assert that the Response Status is Equal to "ok"
- Adding an Expectation and an Asynchronous Wait Method
- Inject URL String
- Prepare URL
- Prepare URL Request Object
- Create DataTask
- Inject URLSession
- Return Response Model
- Trying how it works with Real HTTP Request
- Mock URLProtocol
- Make URLSession use MockURLProtocol
- Handle Unknown JSON Response Model
- When Empty URL Provided Return a Specific Error Message
- Refactor SignupErrors Enum
- Test URL Request Failure
- Check Code Coverage
- TDD. Implementing Presenter Class in MVP Application
- Introduction
- Create Presenter Unit Test Class and Test Method
- Create Signup Form Model Struct
- Create SignupPresenter class and the processUserSignup() method
- Create Initial MockSignupModelValidator class
- Create Validator Protocol
- Inject Validator Mock and validate each property
- Refactor
- Unit Test to verify the signup() was called
- Create SignupWebService Mock Class
- Signup Web Service Protocol
- Inject Signup Web Service Mock in to Presenter
- Unit Test to assert that Presenter calls a method on View Delagate
- Create View Delegate Protocol and MockSignupViewDelegate
- Inject View Delegate into Presenter
- Counting number of times a method was called
- Verify that successfulSignup() called one time only
- Refactor
- Coding Challenge
- Assert that Presenter calls a Error Handler on View Delagate
- Review Code Coverage of Presenter Class
- Unit Testing View Controller
- Introduction
- Create a New Test Class and a Test Method
- Test UITextFields are initially empty
- Test UITextField has a referencing outlet
- Test UIButton has @IBAction assigned to it
- Test UIButton Action invokes code in Presenter
- Create MockSignupPresenter class
- Inject MockSignupPresenter into View Controller
- Testing Old or Legacy Code
- Introduction
- Refactor Massive View Controllers
- Use Protocols and Dependency Injection
- Adding code to existing methods
- Break large functions into smaller ones
- Wrapping existing classes. Decorator pattern.
- Examples: Ways to Load UIViewController in a Unit Test
- Loading UIViewController that uses a Storyboard
- Loading UIViewController that uses XIB
- UIViewController that creates Views programmatically
- Examples: Testing methods that throw Error
- XCTAssertThrowsError example
- XCTAssertNoThrow example
- An example of Do Try and Catch instead of XCTAssertThrowsError
- An example of Do Try and Catch instead of XCTAssertNoThrow
- Examples: Unit Test UITextField Attributes
- Overview of UITextField Attributes: Content Type, Keyboard Type, Placeholer...
- Test that UITextField has the Email Address UITextContentType set
- Test that UITextField has Email Address keyboard type set
- Test that Password UITextField is a Secure Text Entry
- Examples: Testing Navigation. Push to Navigation Stack.
- Project overview
- Push UIViewController into UINavigationController. Wait for expectations.
- Test Push Navigation. Alternative way.
- Test Push Navigation with Spy class
- UI Testing
- Introduction
- Accessing UI Elements
- Add UI Tests target to a project
- Create a new UI Test case class
- Recording UI Tests. An introduction
- Recording UI Tests. Test if UITextFields are enabled
- Testing with UITextField placeholders
- Test Assertions to check if UITextFields are enabled
- Adding accessibility identifiers to UITextFields
- Finding UI elements
- A Test method to assert that an error alert is presented
- Making UIViewController display UIAlertController
- Refactor
- Test for Success Alert Dialog
- Wait for View Controller to appear
- XCUIElement Actions and Gestures
- UI Testing. Screenshots & Attachments.
- Introduction
- Generating and Previewing Screenshots
- Enabling and Disabling Automatic Screenshots
- Taking Screenshot of Specific UI Element
- Take a Screenshot of Current Device Screen
- UI Testing. Launch Arguments.
- Introduction
- Passing and Reading Launch Arguments
- Passing and Reading Launch Environment Values
- UI Testing. Test Plans.
- Introduction
- Creating a new Test plan
- Creating new test plan configuration
- A separate Test Plan for UI Tests, Unit Tests and All Tests
- Localization screenshots demo
- What's next?
- Let's connect!
- Bonus lecture
Swift, API Integration, Localization, SwiftData, Charts, MapKit, Mac Apps, Push Notifications, CoreML and More
- Ratings
- 4.77
- Subscribers
- 3,028
- Subscribers last month
(October 2024) - 368
- Level
- all
- Video Duration
- 86 hours 13 minutes
- Created
- Oct 11th, 2021
- Last updated
- Oct 29th, 2024
- Price
- $79.99
This course focuses on iOS development using the Swift programming language and the SwiftUI framework. You'll start by learning the programming fundamentals of Swift. This is a project-based course, where each project introduces new language features and provides hands-on experience. The apps will be developed using the MVVM software design pattern, which complements SwiftUI and iOS development. Additionally, you'll learn how to efficiently use Xcode, navigate the interface, utilize hotkeys, and create code snippets.
New content related to iOS 18 is uploaded regularly.
Here is a list of the topics we will cover and the apps we will create.
Xcode. We start by downloading Xcode and SF Symbols, adapting it to our needs and learning essential keyboard shortcuts.
The Swift Programming Language. We start with the basics of the Swift programming language, move on to slightly more advanced Swift topics, and then focus on a dedicated section of Swift coding exercises.
Extended Introduction to Swift. After getting our feet wet in the previous section we move onto a more systematic and comprehensive coverage of the Swift programming language.
Swift Coding Exercises. This section presents a range of coding exercises with different difficulty levels to help reinforce the concepts covered in the previous two sections.
Higher Order Functions and Functional Programming. Higher-order functions are integral to Swift and SwiftUI, so this section is dedicated to this crucial concept.
Greetings App. The aim is to introduce the fundamentals of SwiftUI and provide a brief glimpse into the capabilities of both Swift and SwiftUI. In this short app, we will explore essential layouts, animations, tap gestures, gradients (both linear and radial), multilingual support (including English, Spanish, and more), creating app icons for all devices, and enabling light and dark mode support.
Icons - Light, Dark and Tinted. In this brief section, we will explore icons in iOS 18, including light, dark, and the newly introduced tinted icons.
Basics. The goal is not to give an encyclopedic treatment, rather cover a large chunk of the fundamentals and then quickly dive into as many apps as possible where we use these basics and beyond.
Programming basics, i.e. variables, constants, arrays, loops, structs, conditionals, basic data types, guard, tuples, enumerations, etc.
HStack, VStack, ZStack, gradients, colors, text, alignment, frames, rotations, grids, images, AsyncImage
User Interface Exercise. Video-based exercises with solutions, testing our understanding of concepts from the previous section.
Data Flow in SwiftUI. Understanding @State, @Binding, @ObservedObject, @StateObject, @Published, Observable, and @EnvironmentObject.
Exploring Images. Scale to Fit and Fill, and AsyncImage.
Code Snippets. Utilizing code snippets to write programs more efficiently. While this topic is straightforward, it’s highly practical. In this section, we also cover helpful concepts such as:
- Page tabbed views
- Background colors
- Buttons
- Gradient text and masks
- Clean default views
- Avatars
- Clickable images linking to websites
Animations. Keyframes, Bounce, Phase, Breathe, Wiggle, Rotate, and Pulse animations
Gestures. Incorporating various types of gestures such as drag, tap, and magnify
Stylizing Text Views. String Interpolation, Markdown, Attributed Strings, Measurements, Pluralization with Inflection, and OpenURLAction and Text Renderer
Calculator. We implement a nice UI based on a beautiful design from dribbble. We support both light and dark mode and discuss state variables.
Brevis App - Hotkeys. A straightforward yet useful hotkey app designed to work seamlessly on iPhone, iPad, and macOS.
Recipe App MVVM. This is the first App in the course that covers the MVVM design pattern which is central in this course. We also cover basic navigation and lists and custom views in this section.
Chinese Continuing App. This app includes unit testing, MVVM architecture, API calls using URLSession, and features a visually appealing splash screen with a random image.
Fizz Buzz. This app is built around the classic interview question known as Fizz Buzz. We start by exploring Xcode's playground and then progress to developing an app focused on string manipulation. The app implements Fizz Buzz in multiple programming languages, including Swift, Rust, Go, C, and JavaScript/HTML, effectively creating a program that generates other programs. Additionally, we cover how to copy text to the clipboard and explore the context menu.
HTML to Color Extension. In this section we write code that converts HTML to usable code in SwiftUI. Namely we automate the creation of color extensions which will be used in the Charts App of our course (or in any app for that matter).
Exploring Charts. We create charts using the SwiftUI Charts framework. Using drag gestures in the charts. Horizontal and vertical bar charts, line charts, area charts.
Activity Tracker - Pie Charts and Donut Charts with Swift Data. In this section, we dive into creating visual representations of data using pie charts and donut charts in Swift, leveraging Swift Data for robust data management and visualization.
Line Plots. In this section, we explore line plots with a focus on various intriguing topics. We start by creating random line plots and then move on to examining Lissajous curves, including their parameterizations. We'll also cover essential graphics functions, delve into implementing trigonometric functions, and illustrate the prime number theorem through visual representation. This comprehensive approach provides a solid understanding of how to use line plots to convey complex mathematical concepts and data.
Core Data Math Game. We create a math game focusing on MVVM and Core Data. In addition like most of the apps in the course, the app supports multiple languages out of the box via localization.
Swift Data. In this section, we delve into Swift Data, an alternative to Core Data. We will explore its features and benefits, examining how it streamlines data management and integration within Swift applications.
Building and Deploying Titanic Survival Predictions with CoreML and CreateML. This brief section is designed to give you an introduction to the capabilities of CoreML and CreateML by exploring a practical example: predicting Titanic passenger survival. We’ll start with preparing and preprocessing the Titanic dataset, then use CreateML to train a predictive model, and finally, integrate the model into an iOS app using CoreML. This hands-on exercise will offer a taste of the power and ease of Apple's machine learning tools, demonstrating how they can be applied to real-world data and applications.
Alarm App. This section is a key highlight of the course. We draw inspiration from a design on Dribbble to build a sophisticated user interface that supports multiple languages, including English, Spanish, French, Italian, German, and Turkish. The complexity of the UI provides a great opportunity to work with advanced design elements such as navigation stacks, tab views, grids, shapes, and date pickers. We also create a custom toggle button using tap and drag gestures, states, and bindings.
In addition, we delve into advanced topics such as async-await and, notably, local push notifications, which are essential for engaging users with timely updates. We explore the use of environment objects, published properties, state management, and bindings, with a particular focus on how these concepts are applied throughout the app, especially in the context of local notifications. This section offers a comprehensive look at these powerful tools and techniques, showcasing their application in creating a robust and interactive app.
Conway's Game of Life. This exercise is based on a classic programming challenge developed by the late British mathematician John Conway, who is remembered for his contributions despite having passed away from COVID. In this version of the game, we extend the concept by allowing users to modify the game rules. Our focus will be on both the programming logic and creating an attractive user interface, including elements such as sliders, custom check boxes, and ForEach views.
Tip Calculator. My first thought was - not another tip calculator! However, this app stands out with its stunning design inspired by Dribbble. In this section, we dive into working with shapes, and place a strong emphasis on state management and bindings. Additionally, we ensure the app is fully localized and adapted for different modes, including light and dark themes, iPad and iPhone, as well as portrait and landscape orientations.
Flashcards App. As the name suggests, this app focuses on creating and managing flashcards. We place a significant emphasis on implementing tap, magnification, and drag gestures within the app.
Mystic Puzzle Game: Mastering the 15-Puzzle Challenge in SwiftUI. Dive into the world of classic puzzles with the Mystic Puzzle Game, also known as the 15-puzzle game. This engaging project challenges you to shuffle 15 tiles, leaving one space empty, and requires users to strategically move the tiles back into their correct positions.
In this course section, you'll explore more than just a visually appealing interface. We tackle the intricate logic behind the puzzle, making it a stimulating programming exercise. You'll learn how to implement complex algorithms and state management in SwiftUI while creating a smooth, interactive user experience.
Quote of the Day App. In this section, we'll utilize a quote API to learn how to fetch data from the internet—a crucial skill for many apps. Additionally, we'll explore the use of custom fonts to enhance the app's design and user experience.
Speed code a Chill Meditation App. We create a very simple meditation in 30 minutes flat. This is to show what can be done easily in SwiftUI with very little time and effort.
Multilingual Animals. This can be viewed as an educational game for children. The main goal of this project is to learn how to support text to speech in multiple languages, namely, English, Spanish and French. Of course other languages can easily be supported.
The remaining four apps focus on the frontend. All based on designs from dribbble. Namely.
Body Shape UI.
Meditation App UI.
Finance App UI.
Task Manager UI.
Moreover this course is dynamic in the sense that I will regularly post more material of my own and/or in response to specific requests from students.
I hope you enjoy this course as much as I enjoyed creating it. Also make the code your own. Experiment and be creative. Try to implement an App idea of your own.
Feel free to ask questions in the Q & A or message me directly. I'm always happy to answer questions and check for questions twice a day.
Happy programming and have a Great day
Ron
- Introduction
- Introduction and How to Get Help
- Downloading Xcode and Creating our First App!
- SF Symbols
- Adapting Xcode to Your Needs and Essential Keyboard Shortcuts
- 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
- Simplifying the Code with a Function
- Multiline Strings
- More on loops (for, while, repeat)
- The Guard Statement
- Tuples and Named Tuples
- Enumerations
- Enumerations continued
- Extended Introduction to Swift
- Introduction
- Arithmetic
- Compound Operators
- Compound Operators Continued
- Strings, Escape Sequences, Multi-line and Raw Strings
- Strings - Part 2
- Collections - Arrays and Enumerated
- Collections - Sets
- Collections - Dictionaries
- Control Flow - Loops
- Conditionals - If Statement, Expression, Ternary Operator
- Conditionals - Switch Statement and Expression
- Conditionals - Switch - Tuples and Intervals
- Functions
- Closures
- Swift Coding Exercises
- Coding Exercises Introduction
- Exercise - Divisible by 7
- Solution - Divisible by 7
- Exercise - Divisible by D and range of divisors
- Solution - Divisible by D and range of divisors
- Exercise - Loops - Power Function
- Solution - Loops - Power Function
- Exercise - Loops - Sums of Powers
- Solution - Loops - Sums of Powers
- Exercise - Counting Occurences
- Solution - Counting Occurences
- Exercise - Character Rectangle
- Solution - Character Rectangle
- Exercise - Sum of N Powers
- Solution - Sum of N Powers
- Exercise - My Cosine
- Solution - My Cosine
- Exercise - My Logarithm
- Solution - My Logarithm
- Discussion - My Logarithm - "Bug"
- Print Sorted Names of Numbers
- Solution - Print Sorted Names of Numbers
- Higher Order Functions and Functional Programming
- Introduction to Higher Order Functions
- An Excursion into Higher Order Functions - Part 1
- An Excursion into Higher Order Functions - Part 2
- An Excursion into Higher Order Functions - Part 3
- 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 Subtitle
- Dark Mode
- Creating an App icon
- Clear the background of the App icon
- Create a Launch Screen
- Adding documentation to the Views
- Localization using String Catalog "New way"
- Code Factorization and some thoughts on Landscape mode and iPad support
- Landscape Views
- Adapting to Portrait and Landscape mode
- Supporting iPad
- Change Language UI and Context Menu
- Change Language and Persist using AppStorage
- First TipKit Example
- Appendix: Replacing the Context Menu with a Menu
- Adapting to Mac
- (iOS18+) Icons - Light, Dark and Tinted icons in iOS 18
- (iOS18+) Download Bakery Icon Creator and Explore Light, Dark and Tinted Icons
- 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
- 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
- (NEW) Fun with Frames
- (NEW) Simplifying the Code using a Custom View Modifier
- (NEW) Introducing Group Box View
- (NEW) Nested Group Boxes - User Info View
- (iOS18+) Mesh Gradient in a Nutshell
- (iOS18+) Animate Mesh Gradient with Timer
- (iOS18+) Scroll Transition and Container Relative Frame
- (iOS18+) Scroll Transition, Contrast, Brightness, Offset - Parallax Effect
- (iOS18+) Scroll Transition, Gray Scale and Squaring the Phase Value
- (iOS18+) Tab View, Search Role and Side Bar
- (iOS18+) Tab View with Selection
- (iOS18+) Tab Section
- Comparing Tab View in Landscape vs Portrait mode on an iPad
- (iOS18+) @Previewable
- (NEWER) Exploring Blur Effects
- (NEWER) Exploring Blend Modes
- User Interface Exercises
- Exercise: Buy Now View
- Solution - Buy Now View - Part 1
- Solution - Buy Now View - Part 2
- Data Flow
- State Variables
- Solution to @State Homework
- Introducing @Binding Example
- Setting up CustomColorPicker and ColorCircle Views
- Custom Color Picker using @Binding
- ObservedObject, StateObject, Published, Observable
- Observation Framework
- EnvironmentObject
- Migrating from the Observable Object protocol to the Observable macro
- Environment Example
- Bindable
- Exploring Images and AsyncImage
- Import Images and Creating useful Enums
- Image Scale to Fit vs 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 Cool View Snippets
- Avatar Snippet
- Image Url Snippet
- Awesome three button default snippet
- Animate Font, fontweight and foreground color
- Random colors and random background color
- Simple Background Snippets
- Animations
- SF Symbols Animations Part 1
- SF Symbols Content Transitions Part 2
- Phase Animations - Part 1
- Phase Animations - Part 2
- Phase Animations - Part 3
- Key Frame Animations
- (iOS18+) Breathe, Rotate, Wiggle
- (iOS18+) Breathe, Rotate, Wiggle using SymbolEffect
- (iOS18+) Generating Animations from SF Symbols
- Navigation Transitions
- (iOS18+) Navigation Zoom Transition
- Gestures
- Introduction to Gestures
- Setting Up Project Structure
- Nice Text View
- Squares View
- Magnification Section View
- Magnify and Bounce Back View
- Magnify and Stay Still View
- Magnify and Store State View
- Drag Gesture Section View
- Drag and Bounce Back
- Drag and Stay Still
- Drag and Store State
- Rotate and General Section View
- Rotate Gesture Bounce Back
- Rotate Gesture Stay Still
- Rotate Gesture Store State
- Rotate, Drag and Magnify Gesture Demo
- Gesture State
- Stylizing Text Views: String Interpolation, Markdown, and Attributed Strings
- Styling Text Views - Introduction
- Style Acrostic Poems using String Interpolation
- Markdown
- Combining Markdown and String Interpolation
3. Top 3 Recommended YouTube Videos
Here are Outlecture's top 3 recommended YouTube videos, carefully selected for you.
Title | View count | View count last month (October 2024) | Like count | Publish date |
---|---|---|---|---|
Swift in 100 Seconds Channel: Fireship | 788,074 | 13,277 | 29,890 | Nov 22nd, 2021 |
How to Make an App in 8 Days (2024) - Full Walkthrough Channel: CodeWithChris | 836,304 | 45,956 | 10,843 | Apr 6th, 2023 |
Swift Programming Tutorial | FULL COURSE | Absolute Beginner Channel: Sean Allen | 543,166 | 12,165 | 13,750 | Oct 8th, 2022 |
YouTube has become a familiar platform for everyday use, where viewers can watch videos for free, although they may contain advertisements. Recently, there has been an increase in the availability of high-quality educational materials on this platform.
It is an excellent option for those who want to learn without paying or simply obtaining a quick understanding of a topic.
We highly recommend utilizing YouTube as a valuable learning resource.
Recommended for
- Wanting to learn without spending money
- Wanting to quickly understand the overview of Swift
The details of each course are as follows:
Fireship
- View count
- 788,074
- View count last month
(October 2024) - 13,277
- Like count
- 29,890
- Publish date
- Nov 22nd, 2021
#apple #programming #100SecondsOfCode
🔗 Resources
Swift Docs https://www.swift.org/
Swift Announcement https://youtu.be/MO7Ta0DvEWA
Kotlin in 100 Seconds https://youtu.be/xT8oP0wy-A0
C in 100 Seconds https://youtu.be/U3aXWizDbQ4
🔥 Get More Content - Upgrade to PRO
Upgrade to Fireship PRO at https://fireship.io/pro
Use code lORhwXd2 for 25% off your first payment.
🎨 My Editor Settings
- Atom One Dark
- vscode-icons
- Fira Code Font
🔖 Topics Covered
- What is Swift?
- Swift vs Objective C
- Apple Swift Basics
- Swift Syntax and Memory Safety
- When was Swift Announced?
CodeWithChris
- View count
- 836,304
- View count last month
(October 2024) - 45,956
- Like count
- 10,843
- Publish date
- Apr 6th, 2023
🚨 SPECIAL CWC+ OFFER FOR YOUTUBE:
👋 Our "Launch Your First App" program will help you build up your iOS skills to publish your very own feature rich app even if you’re a beginner starting from scratch. https://cwc.to/youtubeoffer
Resources and Downloads:
https://learn.codewithchris.com/courses/start?utm_source=youtube&utm_medium=video&utm_campaign=8day&utm_content=full
✌️Get Access To MODULE 2 Here:
https://learn.codewithchris.com/courses/menu?utm_source=youtube&utm_medium=video&utm_campaign=8day&utm_content=full
Timestamps
00:00 Lesson 1 - The Apple Dev Ecosystem
27:16 Lesson 2 - Xcode Tutorial
46:32 Lesson 3 - Building a User Interface
01:15:49 Lesson 4 - Starting the War Card Game
01:31: 45 Lesson 5 - Introduction to Swift Coding
01:50:35 Lesson 6 - Swift Functions
02:12:46 Lesson 7 - SwiftUIButtons and Properties
02:32:33 Lesson 8 - Adding the App Logic
This video series will teach a beginner with no programming experience how to make iPhone apps. I'm creating these videos with the assumption that the student has no prior knowledge and is starting from scratch.
👋 Our "Launch Your First App" program will help you build up your iOS skills to publish your very own feature rich app even if you’re a beginner starting from scratch. https://cwc.to/youtubeoffer
APPLE DEVELOPER PROGRAM:
https://developer.apple.com/programs/
MY FAVOURITE APP RESOURCES:
📖 The SwiftUI Reference Books I Use - SwiftUI Views Mastery - https://cwc.to/swiftui-book
💰 How I Monetize My Apps - RevenueCat - https://cwc.to/revenuecat
🤖 My Automation Tool of Choice - Bitrise - https://cwc.to/bitrise
🧑🎨 What I Use For App Design - Figma - https://cwc.to/figma
WEEKLY UPDATES VIA EMAIL:
✉️ Every Saturday, receive an email digest of new content - https://cwc.to/newsletter
CONNECT:
🌍 My website - https://codewithchris.com
😺 GitHub - https://github.com/codewithchris
📸 Instagram - https://www.instagram.com/codewithchris/
🐦 Twitter - https://twitter.com/codewithchris
ABOUT CODEWITHCHRIS:
Hi I’m Chris! I’m dedicated to teaching fundamentals about how to make an app. This is important if you’re trying to land an iOS job, be a freelancer, increase or start a business with an app idea. On this channel and my website, you'll find a ton of free resources and tutorials to aid you on your journey to learn iOS development. Many people have learned to code and build apps on their own! https://cwc.to/reviews
Note: Some of the links in this description are affiliate links that help support this channel. Thank you if you used any of them!
#CodeWithChris #CodeCrew #HowToMakeAnApp
Sean Allen
- View count
- 543,166
- View count last month
(October 2024) - 12,165
- Like count
- 13,750
- Publish date
- Oct 8th, 2022
When you've finished this course, try my SwiftUI Fundamentals course which is now free:
https://www.youtube.com/watch?v=b1oC7sLIgpI
Curriculum Timestamps:
00:00:00 - Course overview
00:05:36 - I was just like you
00:13:48 - What is Xcode?
00:19:47 - SwiftUI or UIKit (2020)
00:22:27 - SwiftUI or UIKit (2021)
00:26:00 - Intro to Swift Language
00:33:30 - Swift Types
00:37:15 - Variables
00:42:10 - Array
00:49:37 - Set
00:57:59 - Dictionary
01:02:25 - Functions
01:14:50 - if / else
01:21:15 - For Loops
01:30:29 - Enum
01:40:27 - Switch Statement
01:48:49 - Operators
02:01:45 - Optionals
02:12:46 - Self
02:15:27 - Class
02:23:36 - Inheritance
02:31:31 - Struct
02:36:45 - Extension
02:40:30 - Apple Developer Program
02:43:54 - Tour of Xcode
02:58:56 - What’s New in Xcode 12
03:08:07 - What’s New in Xcode 13
03:24:59 - What’s New in Xcode 14
03:34:54 - What is Auto Layout?
03:38:38 - What is UIKit?
03:55:05 - Storyboard vs. Programmatic UI
04:01:16 - FizzBuzz Challenge
04:09:27 - Colors App Intro
04:10:39 - Colors App - Navigation
04:25:02 - Colors App - UITableView
04:36:37 - Colors App - Code
05:05:56 - Card Workout App - Intro
05:08:53 - Card Workout App - Storyboard UI
05:21:20 - Card Workout App - IBOutlets
05:41:49 - Card Workout App - Storyboard Logic
05:59:27 - iOS 15 Storyboard Buttons
06:08:05 - Programmatic UI - Setup
06:17:37 - Programmatic UIButtons
06:25:55 - Card Workout App - Card Selection
06:44:29 - Card Workout App - Rules Screen
07:04:07 - Card Workout App - Logic
07:13:52 - iOS 15 Update - UIButtons
07:24:24 - SwiftUI Overview
07:34:06 - SwiftUI Example
08:00:29 - General Knowledge Section Intro
08:01:57 - How Apps Work
08:05:34 - What is an API?
08:10:00 - What is Version Control?
08:19:34 - 3rd Party Libraries
08:25:56 - What are Edge Cases?
08:30:55 - iOS Dev Career Paths
08:36:48 - World of iOS Dev
08:38:31 - Why WWDC is the best
08:45:02 - Twitter will change your career
08:55:30 - Swift blogs & websites
09:03:47 - Book Recommendations
09:10:40 - Podcast Recommendations
09:20:23 - Next Steps
09:26:18 - Thank You!
09:29:04 - Bonus: Homeless to $130k iOS Dev
09:46:21 - Bonus: 37 Tips for Jr. Developers
10:01:04 - Bonus: I’m an Average Developer
10:06:34 - Bonus: 9 Things I Wish I Knew When I Started
10:16:46 - Bonus: How to Gain Confidence as a Dev
10:25:56 - Bonus: The 90/90 Rule
My other iOS Developer Courses
https://seanallen.teachable.com/
Card Deck Assets:
https://www.dropbox.com/sh/ygwlohcppk0c8dv/AACDU3NSO8oK8i74SNXDY68Ta?dl=0
SwiftUI Video Thumbnail Assets:
https://www.dropbox.com/sh/cpp1ibizedt6f9t/AABJHoTqiQf_-A1n1aMUpKpla?dl=0
https://seanallen.co
Twitter:
https://twitter.com/seanallen_dev
Hired.com:
https://hired.com/x/1n01g
Book and learning recommendations that help out the channel if you decide to purchase (Affiliate Links):
Paul Hudson's Hacking With Swift:
https://gumroad.com/a/762098803
Donny Wals - Combine:
https://gumroad.com/a/909014131
Mark Moeyken’s SwiftUI Books:
www.bigmountainstudio.com/swiftui-views-book/fzc51
Objc.io Books (Thinking in SwiftUI & Advanced Swift):
https://gumroad.com/a/656585843
Ray Wenderlich Books:
https://store.raywenderlich.com/a/20866/link/1
#swift #softwaredeveloper #iosdeveloper
5. Wrap-up
We introduced recommended courses for Swift. If you are interested in learning other related courses, please refer to the following.
If you want to further explore and learn after taking one of the courses we introduced today, we recommend visiting the official website or community site.
If you want to stay up-to-date on the latest information, we suggest following the official Twitter account.
Furthermore, We highly recommend utilizing General AI such as ChatGPT as a study aid. This can enable more effective learning, so please give it a try.
We hope you found our website and article helpful. Thank you for visiting.