iOS, Swift & SwiftUI – Complete iOS App Development

ios

Learn iOS App development using iOS, Swift, SwiftUI and UIKit


What you’ll learn

  • You will become a top iOS engineer
  • You will create your own iOS app portfolio
  • Learn how to create iOS apps using iOS 16, Xcode 14, Storyboards, Swift UI and Interface Builder
  • Learn and master Swift 5 fundamentals
  • Build apps using SwiftUI and integrate SwiftCharts
  • Learn what’s new in iOS 16 and Xcode 14
  • Learn reactive programming frameworks such as Combine
  • Build iOS Views programmatically using Auto Layout/PureLayout
  • Build iOS apps using UIKit & Storyboards
  • Master writing unit tests
  • Discover and practice building applications with networking libraries (AlamoFire, Apple)
  • Build applications that use Core Location and MapKit
  • Learn how to use MVVM design pattern and differences between MVVM and MVC
  • Learn how to use CocoaPods
  • Learn about Notifications and Delegates
  • Learn about CoreData & UserDefaults

This course includes:

  • 21 hours on-demand video
  • 10 coding exercises
  • 2 practice tests
  • Assignments
  • 2 articles
  • 170 downloadable resources
  • Access on mobile and TV
  • Closed captions
  • Audio description in existing audio
  • Certificate of completion


Top companies offer this course to their employeesThis course was selected for our collection of top-rated courses trusted by businesses worldwide.

Nasdaq
Volkswagen
Box
NetApp
Eventbrite

Coding Exercises

This course includes our updated coding exercises so you can practice your skills as you learn.

Image of coding exercise example

Course content

23 sections • 165 lectures • 21h 8m total lengthCollapse all sections

Introduction to iOS & Xcode3 lectures • 16min

  • How to download Xcode from Developer Apple PortalPreview01:26
  • Create an initial Xcode iOS app projectPreview02:27
  • Get familiar with Xcode 14 controls, components and project structurePreview12:22

Swift 5 Fundamentals30 lectures • 5hr 32min

  • Constants, variables, operators07:00
  • Strings and Characters11:17
  • Strings: indices10:15
  • Strings: substrings02:50
  • Strings: comparison06:47
  • Strings and characters1 question
  • Collection Types: IntroductionPreview05:06
  • Collection Types: Arrays21:14
  • Arrays4 questions
  • Arrays: Part 11 question
  • Arrays: Part 21 question
  • Arrays: Part 31 question
  • Collection Types: SetsPreview29:16
  • Sets4 questions
  • Sets Part1: Main Operations1 question
  • Sets Part2: Operations1 question
  • Sets Part 3: Membership and Equality1 question
  • Collection Types: Dictionaries07:32
  • Dictionaries: Part 11 question
  • Dictionaries: Part 21 question
  • Control flow: for loop07:11
  • Control flow: while loop04:27
  • Control flow: repeat while03:28
  • Control flow: if else conditional statements05:10
  • Control flow: switch statements17:01
  • Control flow: Switch, Part 11 question
  • Functions: parameters, return types, multiple return types, arguments, inout22:46
  • Functions: nested functions, function types14:13
  • OptionalsPreview15:44
  • Closures: expressions, single expression, short-hand, operator method04:55
  • Closures: autoclosure, trailing closures, escaping closures10:02
  • Enumerations16:39
  • Classes and Structs13:21
  • Inheritance16:55
  • Protocols: Introduction19:10
  • Protocols: Delegates08:25
  • Protocols: Extensions09:09
  • Protocols: Synthesized Implementation08:53
  • Protocols: Types and Inheritance16:59
  • Protocols: Composition04:51
  • Protocols: Conformance Check07:29
  • Protocols: Optional protocol requirements03:27

Implement iOS app with UIKit and Storyboard to show table view (MagicTravel app)9 lectures • 1hr 16min

  • What is MVC?Preview03:32
  • MVC4 questions
  • What is UITableView?Preview06:48
  • Create a starting project (MagicTravel app)Preview04:56
  • Adding UITableView to Storyboard and linking it to View Controller via IBOutletPreview08:04
  • UITableViewDataSource10:04
  • UITableViewCell13:01
  • Configuring table view cell and table view to show data15:09
  • Handle tapping on row / table view cell?06:36
  • Displaying additional data inside UITableViewCell07:55


Coding Challenge (Assignment): UITableView1 lecture • 11min

  • Implement an iOS app that has a table view1 question
  • Solution to Assignment10:49

Navigation in UIKit based apps (MagicTravel app)3 lectures • 16min

  • Navigation: modal presentation05:49
  • Navigation: pushing view controllers on navigation stack04:00
  • Navigation: Segues06:19

Coding Challenge: Navigation2 lectures • 12min

  • Implement navigation from table view cell to a different view controller01:29
  • Solution10:03

Autolayout (MomentFan app)3 lectures • 58min

  • What is Autolayout? Setting constraints in Storyboard / Interface BuilderPreview10:15
  • Setting constraints in Storyboard (part 2), StackViews31:21
  • Constraints: hugging and compression resistance16:10

Cocoa Pods (NYCSchools app)8 lectures • 31min

  • What is Cocoa Pods?02:46
  • Installing Cocoa Pods in your system using Gem03:10
  • Installing Cocoa Pods in your system using HomeBrew03:12
  • Debugging & resolving CocoaPods installation error02:07
  • Create a new XCode project01:52
  • Fixing a “rvm” or “pod” command not found issue03:12
  • How to set up Cocoa Pods for Xcode project?03:14
  • PureLayout, SDWebImage, AlamoFirePreview11:25

App Structure & Organization2 lectures • 15min

  • Basic project settings, files & folders provided by Xcode initially08:07
  • Organizing Xcode project files and code using Folders/Groups06:45

Networking: Alamofire, Codable, Decodable, URL Components, URL Session13 lectures • 1hr 18min

  • NYC Schools Open Data APIs02:27
  • Setup Networking/Data Layer service05:15
  • Setup Constants to hold your URL and other important information04:33
  • Data Error enum02:03
  • Codable & Decodable to parse incoming JSON data15:02
  • HTTP03:28
  • Networking using iOS standard services: URLComponent and URLSession (part 1)Preview10:28
  • Networking using Apple standard services (part 2)05:19
  • Networking using Apple Standard service (part 3)04:20
  • AlamoreFire: how to make a networking call using AF library (part1)Preview04:26
  • AlamoFire: using Decodable to parse data in the response (part2)07:34
  • JSON format and details01:00
  • Completion callbacks / closures12:04

Design Patterns, Architecture, MVVM (NYCSchools app)2 lectures • 26min

  • What is MVVM?Preview04:30
  • Implementing MVVM in your iOS app21:44

Introduction to Unit Testing (NYCSchools app)7 lectures • 36min

  • What is unit test? Why it’s important to test your code?02:49
  • Running unit tests in Xcode04:58
  • Implementing Mock: part1Preview07:04
  • Implementing Mock: part204:43
  • Developing unit tests: testing empty response06:05
  • Developing unit tests: testing error result05:12
  • Developing unit tests: testing successful result05:25

Introduction to Combine (NYCSchools app)4 lectures • 26min

  • What is Combine?Preview01:34
  • How to use Combine together with View Model and View Controller?Preview05:36
  • Implementing Combine publishers, subscribing to values, cancellables (part2)Preview05:33
  • Unit Testing with CombinePreview13:09

Localization (NYCSchools app)1 lecture • 9min

  • What is Localization? How to add Localizable.strings in your project?09:28

Building UI programmatically: View Controllers, Views, Collection Views10 lectures • 1hr 33min

  • Implementing collection view programmatically12:49
  • Collection view cell (part 1)03:38
  • Collection view cell (part 2)10:28
  • Collection view data source10:25
  • Collection view sections and headers11:06
  • Tapping on collection view item03:22
  • Details view controller17:15
  • Navigation to another view controller07:43
  • Collection view state views placeholders & loading hud13:16
  • Refresh control: pull down to refresh03:08

Coding Challenge: Enhance NYC Schools project to fetch SAT API and show it on UI2 lectures • 16min

  • Implement SAT cell in details view controller05:25
  • Solution10:13

MapKit and CoreLocation (NYCSchools app)2 lectures • 13min

  • Displaying users a map using MapKit05:27
  • Core Location: permissions, using location manager in your app07:34

Notifications (NYCSchools app)2 lectures • 13min

  • How to communicate using Notifications inside your app?06:26
  • Showing user’s location on the map using coordinates passed via notifications06:55

Introduction to SwiftUI (MovieFan app)13 lectures • 1hr 20min

  • What is SwiftUI? Create SwiftUI starting project04:44
  • App, View, Previews, Body, App, Vertical Stack04:44
  • Horisontal Stack, Vertical Stack, Previews, Canvas, Attribute Inspector05:53
  • App structure & organization01:58
  • Set up podfile and create workspace01:59
  • The Movie DB API Example01:57
  • ObservableObject, EnvironmentObject, ViewModel, Networking, and updating a list14:51
  • List, Section02:56
  • Row View08:48
  • AsyncImage: getting image from image url in SwiftUI05:40
  • Navigation between views: Navigation View and Navigation Link02:29
  • Navigation and title03:47
  • Detail view, scroll view, accessibility labels19:49


What’s new in iOS 16?9 lectures • 37min

  • XCode 14, Swift UI Previews: variants, dynamic sizes, accessibilityPreview05:50
  • Swift UI: initializer code completions02:00
  • Xcode 14: callers of functions, keeping function/variable names visible02:07
  • Build timeline reports03:12
  • Multi destinations with the same target01:25
  • Organizer: Feedback & Hangs01:50
  • Device Destination Improvements02:10
  • App Icon Optimizations03:10
  • Regular ExpressionsPreview14:49

Swift Charts & Advanced SwiftUI (MovieFan app)10 lectures • 1hr 24min

  • SF Symbols01:54
  • Adding TabView into Movies app05:42
  • Implement new API function to consume movies/top_rate API in SwiftUI app24:19
  • What is Swift Chart? Adding BarMark charts to your app14:15
  • Point Mark and Line Mark03:27
  • Customizing Line Mark, Point Mark, and Bar Mark13:31
  • Area Mark04:06
  • Rectangle Mark04:41
  • Rule Mark05:36
  • Customizing Charts06:26

Persistence in iOS (SwiftUI apps)27 lectures • 2hr 49min

  • Introduction to Persistence in iOS05:00
  • Creating CoreData model (MovieFan app)03:44
  • Create Persistent Container and Controller (MovieFan app)05:44
  • Use Persistent Controller in SwiftUI View & App (MovieFan app)04:12
  • Managed Object Context in View (MovieFan app)03:12
  • Saving Data using Managed Object Context (MovieFan app)07:03
  • Enhancing CoreData DataModel entity attributes (MovieFan app)05:04
  • Reading CoreData using FetchRequest in UI (MovieFan app)10:16
  • Checking Network Connection using NWPathMonitor04:51
  • Refactoring View Model: moving persistent controller (MovieFan app)01:43
  • Refactoring View Model: adding fetch request with Core Data07:51
  • NWPathMonitor start monitoring connection05:03
  • Converting Managed Objects to Models (MovieFan app)10:27
  • Preparing Movies ID list and Dictionary (MovieFan app)05:06
  • NSPredicate and using it to filter data in fetchRequest05:20
  • FetchRequest with NSPredicate09:01
  • Updating CoreData Managed Objects10:59
  • Adding new Managed Objects to CoreData08:42
  • Deleting Managed Objects from CoreData04:32
  • Managing Core Data Model Versions05:56
  • Refactoring ViewModel and Persistence Controller12:08
  • Sort Descriptors in CoreData in SwiftUI View06:39
  • Sort Descriptors in CoreData (Persistence Controller)08:03
  • Relationships10:11
  • Injecting CoreData persistent controller into View Model02:23
  • CoreData and SwiftUI previews02:52
  • CoreData6 questions
  • UserDefaults (MovieFan app)03:09

Coding Challenge: Persistence in MovieFan SwiftUI app2 lectures • 11min

  • Implement CoreData for Movies Charts (MovieFan app)05:05
  • Solution06:24

Requirements

  • No programming experience in iOS required. You can learn through practicing and watching course lectures
  • MacOS & Xcode (can be downloaded)
  • Some general knowledge of programming may help in learning, but the instructor does best to explain concepts.

Description

In this course you can learn about iOS 16, Swift 5, iOS App Development using UIKit & SwiftUI and latest frameworks from Apple, best engineering and industry practices on how to develop iOS apps that scale.

The course has 170+ downloadable Xcode project resources, 10+ live coding exercises, 4+ coding challenges, 5+ quizzes, 2 practice tests, 4+ iOS apps and 165+ course materials such as video course lectures, slides and external references to help solidify course materials.


The main focus of the course will be:

  • get familiar with iOS development environment: Xcode 14 and iOS 16
  • learn what’s new in iOS 16
  • learn fundamentals of Swift5
  • learn about Swift Charts
  • learn about CoreData & UserDefaults
  • learn how to build apps using Storyboards, SwiftUI and programmatically
  • master best engineering and industry practices related to iOS development
  • learn how to use popular iOS frameworks: Combine, MapKit, CoreLocation
  • get experience building apps with Networking using Alamofire and URLSession
  • learn how to build UI both using Autolayout and programmatically using PureLayout
  • get experience with design patterns such as MVC & MVVM
  • learn how to use Notifications & Delegates
  • learn how regular expressions in Swift 5.7 work
    Swift is a powerful language that Apple recommends to use for iOS development. We will explore basics and fundamentals of Swift 5 language in addition to learning more advanced concepts in Swift 5.

We will learn through examples how to use important components of iOS (Table Views, Collection Views, Text Views, Buttons, Text Fields).

One of the important best practices of development is to use unit tests. Hence, we will also learn how to write unit tests in iOS.

We will learn how to use the latest SwiftUI to build iOS apps. SwiftUI is a next generation tool developed by Apple that can be helpful to build iOS app fast in using responsive and declarative statements. Combine is one of the latest additions from Apple.

Who this course is for:

  • New and beginner students who would like to learn iOS
  • iOS developers / engineers who are already familiar will also benefit from new and additional knowledge about iOS



Latest Free Coupons

Leave a Reply

Your email address will not be published. Required fields are marked *

Check Today's 30+ Free Courses

X